diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx
index 7212c3805b53502dc88555855c1ba0e5472c918f..ef10e7d4be3456bd407c18458bac32cf8fd38b76 100644
--- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx
+++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelCablingCondAlg.cxx
@@ -4,6 +4,7 @@
 
 #include "PixelCablingCondAlg.h"
 #include "GaudiKernel/EventIDRange.h"
+#include "AthenaKernel/IOVInfiniteRange.h"
 
 #include <iostream>
 #include <fstream>
@@ -14,6 +15,7 @@
 #include "Identifier/IdContext.h"
 #include "CoralBase/Blob.h"
 
+
 PixelCablingCondAlg::PixelCablingCondAlg(const std::string& name, ISvcLocator* pSvcLocator):
   ::AthReentrantAlgorithm(name, pSvcLocator)
 {
@@ -134,11 +136,6 @@ StatusCode PixelCablingCondAlg::execute(const EventContext& ctx) const {
   // Construct the output Cond Object and fill it in
   std::unique_ptr<PixelCablingCondData> writeCdo(std::make_unique<PixelCablingCondData>());
 
-  const EventIDBase::number_type UNDEFNUM = EventIDBase::UNDEFNUM;
-  const EventIDBase::event_number_t UNDEFEVT = EventIDBase::UNDEFEVT;
-  EventIDRange rangeW (EventIDBase (0, UNDEFEVT, UNDEFNUM, 0, 0),
-                       EventIDBase (UNDEFNUM-1, UNDEFEVT, UNDEFNUM, 0, 0));
-
   // Signed values
   int barrel_ec, eta_module;
 
@@ -171,13 +168,10 @@ StatusCode PixelCablingCondAlg::execute(const EventContext& ctx) const {
       ATH_MSG_FATAL("Null pointer to the read conditions object");
       return StatusCode::FAILURE;
     }
-    // Get the validitiy range
-    if (not readHandle.range(rangeW)) {
-      ATH_MSG_FATAL("Failed to retrieve validity range for " << readHandle.key());
-      return StatusCode::FAILURE;
-    }
-    ATH_MSG_INFO("Size of AthenaAttributeList " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
-    ATH_MSG_INFO("Range of input is " << rangeW);
+    writeHandle.addDependency(readHandle);
+
+    ATH_MSG_DEBUG("Size of AthenaAttributeList " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
+    ATH_MSG_DEBUG("Range of input is " << readHandle.getRange());
 
     const coral::Blob& blob_cabling=(*readCdo)["CablingMapData"].data<coral::Blob>();
     const char* p_cabling = static_cast<const char*>(blob_cabling.startingAddress());
@@ -188,7 +182,7 @@ StatusCode PixelCablingCondAlg::execute(const EventContext& ctx) const {
     instr.str(std::string(p_cabling,blob_cabling.size())); 
   }
   else {
-    std::string filename = PathResolverFindCalibFile(moduleData->getCablingMapFileName());
+    const std::string filename = PathResolverFindCalibFile(moduleData->getCablingMapFileName());
     if (filename.size()==0) {
       ATH_MSG_FATAL("Mapping File: " << moduleData->getCablingMapFileName() << " not found!");
       return StatusCode::FAILURE;
@@ -196,6 +190,8 @@ StatusCode PixelCablingCondAlg::execute(const EventContext& ctx) const {
     std::ifstream fin(filename.c_str());
     if (!fin) { return StatusCode::FAILURE; }
     instr << fin.rdbuf();
+
+    writeHandle.addDependency(IOVInfiniteRange::infiniteRunLB()); //When reading from file, use infinite IOV
     ATH_MSG_DEBUG("Refilled pixel cabling from file \"" << moduleData->getCablingMapFileName() << "\"");
   }
 
@@ -300,11 +296,11 @@ StatusCode PixelCablingCondAlg::execute(const EventContext& ctx) const {
   ATH_MSG_DEBUG("Size of ROD readoutspeed map: " << rodReadoutMap.size());
   writeCdo->set_readout_map(rodReadoutMap);
 
-  if (writeHandle.record(rangeW, std::move(writeCdo)).isFailure()) {
-    ATH_MSG_FATAL("Could not record PixelCablingCondData " << writeHandle.key() << " with EventRange " << rangeW << " into Conditions Store");
+  if (writeHandle.record(std::move(writeCdo)).isFailure()) {
+    ATH_MSG_FATAL("Could not record PixelCablingCondData " << writeHandle.key() << " with EventRange " << writeHandle.getRange() << " into Conditions Store");
     return StatusCode::FAILURE;
   }
-  ATH_MSG_DEBUG("recorded new CDO " << writeHandle.key() << " with range " << rangeW << " into Conditions Store");
+  ATH_MSG_DEBUG("recorded new CDO " << writeHandle.key() << " with range " << writeHandle.getRange() << " into Conditions Store");
 
   return StatusCode::SUCCESS;
 }