diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx
index c577047fb800259df5a0ef5e925adda0a5e6e5fa..966e83443ba1710dcff52e32ceba61ce18e45951 100644
--- a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx
+++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.cxx
@@ -52,7 +52,7 @@ StatusCode LArHVScaleRetriever::initialize()
   ATH_MSG_INFO ("Initializing " << name() << "...");
 
   if( m_isMC ) {
-    CHECK(  detStore()->regHandle(m_ilarhvscalecorr,m_keyHVScaleCorr) );
+    ATH_CHECK( m_keyHVScaleCorr.initialize() );
   }else {
     CHECK( m_ilarhvcorrtool.retrieve() ) ;  
   }
@@ -62,12 +62,18 @@ StatusCode LArHVScaleRetriever::initialize()
 
 
 float LArHVScaleRetriever::Scale(const HWIdentifier& id)  const  {
-  if(m_isMC) return m_ilarhvscalecorr->HVScaleCorr(id) ;
+  if(m_isMC) {
+    SG::ReadCondHandle<ILArHVScaleCorr> corr (m_keyHVScaleCorr);
+    return (*corr)->HVScaleCorr(id) ;
+  }
   return m_ilarhvcorrtool->Scale(id);
 }
 
 float LArHVScaleRetriever::Scale(const Identifier& id)  const  {
-  if(m_isMC) return m_ilarhvscalecorr->HVScaleCorr(id) ;
+  if(m_isMC) {
+    SG::ReadCondHandle<ILArHVScaleCorr> corr (m_keyHVScaleCorr);
+    return (*corr)->HVScaleCorr(id) ;
+  }
   return m_ilarhvcorrtool->Scale(id);
 }
 
diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h
index fd86c6aaf75706debac326c575265a8dc3214b25..f43e43996e5bb77765151c204508554057723840 100644
--- a/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h
+++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleRetriever.h
@@ -16,6 +16,7 @@
 
 // FrameWork includes
 #include "AthenaBaseComps/AthAlgTool.h"
+#include "StoreGate/ReadCondHandleKey.h"
 #include "GaudiKernel/ServiceHandle.h"
 
 // LArElecCalib includes
@@ -86,11 +87,8 @@ class LArHVScaleRetriever
 
 
   ToolHandle<ILArHVCorrTool> m_ilarhvcorrtool;
-  const DataHandle<ILArHVScaleCorr> m_ilarhvscalecorr;
-  std::string m_keyHVScaleCorr;
+  SG::ReadCondHandleKey<ILArHVScaleCorr> m_keyHVScaleCorr;
   bool m_isMC;
-    
-
 }; 
 
 // I/O operators