diff --git a/Database/APR/RootCollection/RootCollection/LinkDef.h b/Database/APR/RootCollection/RootCollection/LinkDef.h
index 951fd440ebde1c9f59ad6faec8d3368e56cb65c2..a2af25b6975d64b82dda0919bc046efc13d85394 100755
--- a/Database/APR/RootCollection/RootCollection/LinkDef.h
+++ b/Database/APR/RootCollection/RootCollection/LinkDef.h
@@ -8,10 +8,6 @@
 #pragma link off all classes;
 #pragma link off all functions;
 
-#if ROOT_VERSION_CODE < ROOT_VERSION(5,99,0)
-#pragma link C++ class std::pair< std::string, std::string >+;
-#pragma link C++ class std::vector< std::pair< std::string, std::string > >+;
-#endif 
 #pragma link C++ class AttributeListLayout+;
 
 #endif
diff --git a/Database/APR/RootCollection/src/RootCollection.cpp b/Database/APR/RootCollection/src/RootCollection.cpp
index a8229e28d5da54784f0b465d9fff4037885e33db..837647462d4500c7126571338f962ad140bb17e3 100755
--- a/Database/APR/RootCollection/src/RootCollection.cpp
+++ b/Database/APR/RootCollection/src/RootCollection.cpp
@@ -90,13 +90,6 @@ namespace pool {
            }
            m_poolOut << coral::Info << "File " << m_fileName << " opened in " << method <<  coral::MessageStream::endmsg;
  
-           // if the collection is read via "rootd" a cache might be useful
-           if(dynamic_cast<TNetFile*>(m_file)) {
-#if ROOT_VERSION_CODE < ROOT_VERSION(5,99,0)
-              m_file->UseCache();
-#endif              
-           }
- 
            m_tree->SetDirectory(gDirectory);
            m_schemaEditor->writeSchema();
         }
diff --git a/Database/APR/RootCollection/src/RootCollectionQuery.cpp b/Database/APR/RootCollection/src/RootCollectionQuery.cpp
index 26772c6fe68ef37c9304422d40c2c09c44811a73..b224669ea3c6852dd703cc9205fa75ca7c735d1e 100644
--- a/Database/APR/RootCollection/src/RootCollectionQuery.cpp
+++ b/Database/APR/RootCollection/src/RootCollectionQuery.cpp
@@ -200,15 +200,6 @@ pool::RootCollection::RootCollectionQuery::execute()
      eventList = new TEventList("preselected","");
      eventList->SetDirectory(0);
 
-#if ROOT_VERSION_CODE < ROOT_VERSION(6,3,0)
-     size_t  maxoper = m_whereClause.length()/3;
-     if( maxoper > 1000 ) {
-        // increase number of operators ROOT can handle for complex queries
-        coral::MessageStream log("APR::RootCollectionQuery");
-        log << coral::Info << "Setting TFormula::SetMaxima(" << maxoper << ")" <<  coral::MessageStream::endmsg;
-        TFormula::SetMaxima( maxoper );
-     }
-#endif
      APRTreeFormula formula(m_whereClause, m_tree);
      if( !formula.GetNdim() )  {
         std::string errorMsg = "Could not construct TTreeFormula object, probably because of incorrect ROOT predicate syntax in expression `" + m_whereClause + "'";
diff --git a/Database/APR/Tests/libname.h b/Database/APR/Tests/libname.h
index 7a922e5bbf38d5b7f91f7bf8c8a16320b7e72897..7c221d8170c6a185c8d5d3402b2bc9345d9ed3d1 100644
--- a/Database/APR/Tests/libname.h
+++ b/Database/APR/Tests/libname.h
@@ -9,23 +9,7 @@
  */
 
 #include "DataModelRoot/RootType.h"
-
-#include "RVersion.h"
-#if ROOT_VERSION_CODE < ROOT_VERSION(5,99,0)
-#include "Reflex/SharedLibrary.h"
-std::string libname (const std::string &name)
-{ 
-#ifdef _WIN32 
-  return name + ".dll"; 
-#elif defined __hpux 
-  return "lib" + name + ".sl"; 
-#else 
-  return "lib" + name + ".so"; 
-#endif 
-} 
-#else
 #include "GaudiKernel/System.h"
-#endif
 
 
 namespace pool {}
@@ -37,16 +21,9 @@ void TestDriver::loadLibraries( const std::vector<std::string>& libraries )
     const std::string& library = *iLibrary;
     std::cout << "Loading library " << library << std::endl;
 
-#if ROOT_VERSION_CODE < ROOT_VERSION(5,99,0)
-    Reflex::SharedLibrary libloader( libname(library) );    
-    if(!libloader.Load()){
-      std::cout << libloader.Error() << std::endl;
-    }
-#else
     System::ImageHandle         libhandle;
     if( System::loadDynamicLib(library, &libhandle) != 1 ) {
        std::cout << "Error! library loading failed"  << std::endl;
     }
-#endif    
   }
 }