diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc1b71069033d0445864f159d556f8bb54501553..132ad80944a5eb12f7f0fa5257d25e3ec8b4eb80 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -32,8 +32,8 @@ list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
 include_directories(${PROJECT_SOURCE_DIR})
 
 add_subdirectory(utils)
-add_subdirectory(middletier)
 add_subdirectory(objectstore)
+add_subdirectory(middletier)
 add_subdirectory(namespace)
 add_subdirectory(tests)
 add_subdirectory(xroot_clients)
diff --git a/middletier/SQLite/SqliteMiddleTierTest.cpp b/middletier/SQLite/SqliteMiddleTierTest.cpp
index 750b12cbd7d8ab02276c01000c098ee58f1c3346..43f2b02d5e25edbbc658cab78959b4bbcb20befa 100644
--- a/middletier/SQLite/SqliteMiddleTierTest.cpp
+++ b/middletier/SQLite/SqliteMiddleTierTest.cpp
@@ -43,7 +43,7 @@ private:
 class SQLiteMiddleTierFactory: public MiddleTierFactory {
 public:
   SQLiteMiddleTierFactory() {
-    m_localMiddleTier = allocateLocalMiddleTier();
+    m_localMiddleTier.reset(allocateLocalMiddleTier());
   }
   virtual localMiddleTier * allocateLocalMiddleTier() { 
     return new SQLiteLocalMiddleTier; }
diff --git a/middletier/objectstore/ObjectStoreMiddleTierTest.cpp b/middletier/objectstore/ObjectStoreMiddleTierTest.cpp
index 3b14399334cbe2e9eaecd04de776c61460356934..d95842090c8b802243f1c5fcf56ef19cc74c1e65 100644
--- a/middletier/objectstore/ObjectStoreMiddleTierTest.cpp
+++ b/middletier/objectstore/ObjectStoreMiddleTierTest.cpp
@@ -36,17 +36,17 @@ private:
   cta::OStoreMiddleTierUser m_user;
 };
 
-class SQLiteMiddleTierFactory: public MiddleTierFactory {
+class OStoreVfsMiddleTierFactory: public MiddleTierFactory {
 public:
-  SQLiteMiddleTierFactory() {
-    m_localMiddleTier = allocateLocalMiddleTier();
+  OStoreVfsMiddleTierFactory() {
+    m_localMiddleTier.reset(allocateLocalMiddleTier());
   }
   virtual localMiddleTier * allocateLocalMiddleTier() { 
     return new OStoreVfsMiddleTier; }
-} g_SQLiteMiddleTierFactory;
+} g_OStoreMiddleTierFactory;
 
 // Macro chokes on implicit casting of pointer so we have to do it ourselves
-INSTANTIATE_TEST_CASE_P(MiddleTierSQL, MiddleTierAbstractTest, ::testing::Values(
-    (MiddleTierFactory*)&g_SQLiteMiddleTierFactory));
+INSTANTIATE_TEST_CASE_P(MiddleTierOStore, MiddleTierAbstractTest, ::testing::Values(
+    (MiddleTierFactory*)&g_OStoreMiddleTierFactory));
 
 }
\ No newline at end of file
diff --git a/middletier/sharedtest/MiddleTierAbstractTest.hpp b/middletier/sharedtest/MiddleTierAbstractTest.hpp
index 878865bd576f253e11b27960b941ed849efc89e8..6322a7fe7a5c7c7c7a903dced1a664c41a09551f 100644
--- a/middletier/sharedtest/MiddleTierAbstractTest.hpp
+++ b/middletier/sharedtest/MiddleTierAbstractTest.hpp
@@ -3,6 +3,7 @@
 #include <gtest/gtest.h>
 #include "middletier/interface/MiddleTierAdmin.hpp"
 #include "middletier/interface/MiddleTierUser.hpp"
+#include <memory>
 
 namespace unitTests {
   class localMiddleTier {
@@ -19,7 +20,7 @@ namespace unitTests {
     cta::MiddleTierUser & permanentUser () { return m_localMiddleTier->user(); }
     virtual ~MiddleTierFactory() {}
   protected:
-    localMiddleTier * m_localMiddleTier;
+    std::auto_ptr<localMiddleTier> m_localMiddleTier;
   };
 
   class MiddleTierAbstractTest: public ::testing::TestWithParam<MiddleTierFactory*> {
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index b513680a7b20f83b9763cf778e73602763b42fae..0ca08c9a62e1c6a9533564d25c5319c6657888c7 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -16,8 +16,7 @@ target_link_libraries(unittests
   ctamiddletierunittests
   ctamiddletiersqlite
   ctamiddletiersqliteunittests
-  
-  ctamiddletierobjectstoreunittests
+  #ctamiddletierobjectstoreunittests
   ctamiddletierobjectstore
   ctanamespacevfs
   ctanamespacevfsunittests