diff --git a/Database/APR/RootCollection/test/read_test.cxx b/Database/APR/RootCollection/test/read_test.cxx
index 842c080708fb3731c23c65945feb322905b10815..e23da977231d16217dc2cb3acce2a5bb4e71a23e 100755
--- a/Database/APR/RootCollection/test/read_test.cxx
+++ b/Database/APR/RootCollection/test/read_test.cxx
@@ -21,6 +21,7 @@
 #include "PersistentDataModel/Token.h"
 #include <stdexcept>
 #include <cstdlib>
+#include <memory>
 #include "CoralBase/Attribute.h"
 
 #include "TInterpreter.h"
@@ -188,7 +189,7 @@ void
 TestDriver::write()
 {
    cout << "Creating CollectionService" << endl;
-   pool::ICollectionService *serviceHandle = new pool::CollectionService();
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    cout << "Creating Collection Description" << endl;
    pool::CollectionDescription description( m_name, "RootCollection", m_connection );
    description.insertColumn( "attr1", "int", "integer test attribute" );
@@ -271,8 +272,8 @@ void
 TestDriver::read()
 {
    cout << "Creating CollectionService" << endl;
-   pool::ICollectionService* serviceHandle = new pool::CollectionService();
-   
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
+
   cout << "Getting handle to existing collection ( opened for read-only transactions by default )" << endl;
   pool::ICollection* collection = serviceHandle->handle( m_name, "RootCollection" , m_connection );
 
diff --git a/Database/APR/RootCollection/test/update_test.cxx b/Database/APR/RootCollection/test/update_test.cxx
index 1364e33cdd7be50116e2a33e827407b0515df6df..e32328496c2b44a76358d94f324b2a4966994ecd 100755
--- a/Database/APR/RootCollection/test/update_test.cxx
+++ b/Database/APR/RootCollection/test/update_test.cxx
@@ -21,6 +21,7 @@
 
 #include <stdexcept>
 #include <cstdlib>
+#include <memory>
 #include "CoralBase/Attribute.h"
 
 #include "TInterpreter.h"
@@ -71,7 +72,7 @@ void
 TestDriver::write()
 {
    cout << "Creating CollectionService" << endl;
-   pool::ICollectionService *serviceHandle = new pool::CollectionService();
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    cout << "Creating Collection Description" << endl;
    pool::CollectionDescription description( m_name, "RootCollection", m_connection );
    description.insertColumn( "attr1", "int" );
@@ -116,7 +117,7 @@ TestDriver::write()
    cout << "Closing the collection." << endl;
    collection->close();
    delete collection;
-
+   
    cout << "[OVAL] finished hopefully" << endl;
 }
 
@@ -126,7 +127,7 @@ void
 TestDriver::read()
 {
    cout << "Creationg CollectionService" << endl;
-   pool::ICollectionService *serviceHandle = new pool::CollectionService();
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    
    cout << "Getting handle to existing collection for reading" << endl;
    bool        readOnly(true);
@@ -157,7 +158,7 @@ void
 TestDriver::update()
 {
    cout << "Creationg CollectionService" << endl;
-   pool::ICollectionService *serviceHandle( new pool::CollectionService() );
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    
    cout << "Getting handle to existing collection for update" << endl;
    bool        readOnly(false);
@@ -203,7 +204,7 @@ TestDriver::query() {
    
     cout << endl << endl;
    cout << "Creationg CollectionService" << endl;
-   pool::ICollectionService *serviceHandle( new pool::CollectionService() );
+   unique_ptr<CollectionService> serviceHandle(new CollectionService());
    
    cout << "Getting handle to existing collection for reading" << endl;
    bool        readOnly(true);