diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx
index 7eaaaea160736fe6b0c4832f7deb1249fe46fd7d..0e34ca3ac8f66d5b0af3f0c80334c047aaf632fe 100644
--- a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx
+++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.cxx
@@ -142,6 +142,14 @@ StatusCode LArHVScaleCorrCondAlg::execute() {
 
   } 
 
+  SG::ReadCondHandle<LArOnOffIdMapping> larCablingHdl(m_cablingKey);
+  const LArOnOffIdMapping* cabling=*larCablingHdl;
+  if(!cabling) {
+     ATH_MSG_ERROR("Could not get LArOnOffIdMapping !!");
+     return StatusCode::FAILURE;
+  }
+
+
   // Define validity of the output cond object
   EventIDRange rangeW;
   if(!hvDataHdl.range(rangeW)) {
@@ -157,7 +165,7 @@ StatusCode LArHVScaleCorrCondAlg::execute() {
     const std::set<Identifier>& updatedCells=hvdata->getUpdatedCells();
     if (updatedCells.size()) {
       const HASHRANGEVEC hashranges=this->cellsIDsToPartition(updatedCells);
-      StatusCode sc=this->getScale(hashranges, vScale, hvdata, onlHVCorr);
+      StatusCode sc=this->getScale(hashranges, vScale, hvdata, onlHVCorr, cabling);
       if (sc.isFailure()) {
 	ATH_MSG_ERROR( " LArHVScaleCorrCondAlg::LoadCalibration error in getScale" );
 	return sc;
@@ -209,7 +217,7 @@ StatusCode LArHVScaleCorrCondAlg::execute() {
 	}
 	std::string chronoName = "LArHVScaleCorrCondAlg";
 	chrono -> chronoStart( chronoName); 
-	StatusCode sc=this->getScale(m_completeRange, vScale, hvdata, onlHVCorr);
+	StatusCode sc=this->getScale(m_completeRange, vScale, hvdata, onlHVCorr,cabling);
 	if (sc.isFailure()) {
 	  ATH_MSG_ERROR( " LArHVScaleCorrCondAlg::LoadCalibration error in getScale" );
 	  return sc;
@@ -224,12 +232,6 @@ StatusCode LArHVScaleCorrCondAlg::execute() {
   }//end else m_updateIfChanged
 
   // and now record output object
-  SG::ReadCondHandle<LArOnOffIdMapping> larCablingHdl(m_cablingKey);
-  const LArOnOffIdMapping* cabling=*larCablingHdl;
-  if(!cabling) {
-     ATH_MSG_ERROR("Could not get LArOnOffIdMapping !!");
-     return StatusCode::FAILURE;
-  }
   std::unique_ptr<LArHVCorr> hvCorr = std::make_unique<LArHVCorr>(std::move(vScale), cabling, m_calocell_id );
   //LArHVScaleCorrFlat * hvCorr = new LArHVScaleCorrFlat(vScale);
   const EventIDRange crangeW(rangeW);
@@ -252,7 +254,7 @@ StatusCode LArHVScaleCorrCondAlg::finalize()
 
 
 // *** compute global ADC2MeV factor from subfactors *** 
-StatusCode LArHVScaleCorrCondAlg::getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData *hvdata, const ILArHVScaleCorr *onlHVCorr) const {
+StatusCode LArHVScaleCorrCondAlg::getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData *hvdata, const ILArHVScaleCorr *onlHVCorr, const LArOnOffIdMapping* cabling) const {
   
   unsigned nChannelsUpdates=0;
 
@@ -434,7 +436,7 @@ StatusCode LArHVScaleCorrCondAlg::getScale(const HASHRANGEVEC& hashranges, std::
     
       ++nChannelsUpdates;
       if(onlHVCorr) { // undo the online one
-         float hvonline = onlHVCorr->HVScaleCorr(offid);
+	float hvonline = onlHVCorr->HVScaleCorr(cabling->createSignalChannelID(offid));
          if (hvonline>0. && hvonline<100.) mycorr = mycorr/hvonline;
 
       }
diff --git a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h
index 9f66b4bb22dd3ebd6228bbafb4e004c338b64223..138ba00a4feeca995025e1a1efd5658bdf9fdd46 100644
--- a/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h
+++ b/LArCalorimeter/LArRecUtils/src/LArHVScaleCorrCondAlg.h
@@ -121,7 +121,7 @@ class LArHVScaleCorrCondAlg: public AthAlgorithm
   HASHRANGEVEC m_hashRanges[2];//x2 for the side
   HASHRANGEVEC m_completeRange;
   HASHRANGEVEC cellsIDsToPartition(const std::set<Identifier>& cellsIDvec) const;
-  StatusCode getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData* hvdata, const ILArHVScaleCorr *onlHVCorr) const;
+  StatusCode getScale(const HASHRANGEVEC& hashranges, std::vector<float> &vScale, const LArHVData* hvdata, const ILArHVScaleCorr *onlHVCorr, const LArOnOffIdMapping* cabling) const;
 };
 
 #endif