diff --git a/Database/IOVDbSvc/src/IOVDbFolder.h b/Database/IOVDbSvc/src/IOVDbFolder.h
index dfa6181012186f80c5eef0404f132fc6ed3fc58b..518986e784fd0585895a598f3abadcdd603af87e 100644
--- a/Database/IOVDbSvc/src/IOVDbFolder.h
+++ b/Database/IOVDbSvc/src/IOVDbFolder.h
@@ -64,6 +64,7 @@ public:
   // in subsequent events.
   bool extensible() const;
   bool dropped() const;
+  bool iovOverridden() const;
   const std::string& joTag() const;
   const std::string& resolvedTag() const;
   const std::string& eventStore() const;
@@ -316,6 +317,8 @@ inline bool IOVDbFolder::extensible() const { return m_extensible; }
 
 inline bool IOVDbFolder::dropped() const { return m_dropped; }
 
+inline bool IOVDbFolder::iovOverridden() const { return m_iovoverridden; }
+
 inline const std::string& IOVDbFolder::joTag() const { return m_jotag; }
 
 inline const std::string& IOVDbFolder::resolvedTag() const { return m_tag; }
diff --git a/Database/IOVDbSvc/src/IOVDbSvc.cxx b/Database/IOVDbSvc/src/IOVDbSvc.cxx
index c3f8365826228b48bf420bb4d1d51348434eb7c5..063ac457a3be10ff2944403d69f99260633a86b5 100644
--- a/Database/IOVDbSvc/src/IOVDbSvc.cxx
+++ b/Database/IOVDbSvc/src/IOVDbSvc.cxx
@@ -555,7 +555,17 @@ StatusCode IOVDbSvc::getRange( const CLID&        clid,
     range = IOVRange (range.start(), extStop);
   }
 
-
+  // Special handling for IOV override: set the infinite validity range
+  if (folder->iovOverridden()) {
+    if (folder->timeStamp()) {
+      range = IOVRange ( IOVTime(IOVTime::MINTIMESTAMP)
+			 , IOVTime(IOVTime::MAXTIMESTAMP) );
+    }
+    else {
+      range = IOVRange ( IOVTime(IOVTime::MINRUN,IOVTime::MINEVENT)
+			 , IOVTime(IOVTime::MAXRUN,IOVTime::MAXEVENT) );
+    }
+  }
 
   return StatusCode::SUCCESS;
 }