diff --git a/nameserver/mockNS/MockNameServer.cpp b/nameserver/mockNS/MockNameServer.cpp
index a2f3c5fa6ba6a4d5349703ab136010f0f0972419..10fcfe23a49ea0b4cfbcae84c7dbc343f05a4bf6 100644
--- a/nameserver/mockNS/MockNameServer.cpp
+++ b/nameserver/mockNS/MockNameServer.cpp
@@ -294,7 +294,7 @@ void cta::MockNameServer::deleteTapeFile(const SecurityIdentity &requester, cons
 //------------------------------------------------------------------------------
 // constructor
 //------------------------------------------------------------------------------
-cta::MockNameServer::MockNameServer(): m_fileIdCounter(0) {
+cta::MockNameServer::MockNameServer(): m_fileIdCounter(0), m_deleteOnExit(true) {
   umask(0);  
   char path[100];
   strncpy(path, "/tmp/CTATmpFsXXXXXX", 100);
@@ -312,7 +312,7 @@ cta::MockNameServer::MockNameServer(): m_fileIdCounter(0) {
 //------------------------------------------------------------------------------
 // constructor
 //------------------------------------------------------------------------------
-cta::MockNameServer::MockNameServer(const std::string &path): m_fileIdCounter(0) {
+cta::MockNameServer::MockNameServer(const std::string &path): m_fileIdCounter(0), m_deleteOnExit(false) {
   Utils::assertAbsolutePathSyntax(path);
   assertFsDirExists(path);
   m_fsDir = path;
@@ -322,6 +322,11 @@ cta::MockNameServer::MockNameServer(const std::string &path): m_fileIdCounter(0)
 // destructor
 //------------------------------------------------------------------------------
 cta::MockNameServer::~MockNameServer() throw() {
+  if(m_deleteOnExit) {
+    std::string cmd("rm -rf ");
+    cmd += m_fsDir;
+    system(cmd.c_str());
+  }
 }  
 
 //------------------------------------------------------------------------------
diff --git a/nameserver/mockNS/MockNameServer.hpp b/nameserver/mockNS/MockNameServer.hpp
index 8f02cecfa1050dc1ecd9bd1458d3fb27e6b6ade4..003c214e80a762e679a3fec3c44ed6b0c309be47 100644
--- a/nameserver/mockNS/MockNameServer.hpp
+++ b/nameserver/mockNS/MockNameServer.hpp
@@ -240,6 +240,11 @@ private:
    * Mutex to serialize access to the file system modification functions
    */
   std::mutex m_mutex;
+  
+  /**
+   * Flag that determines whether the base path of the mock name server needs to be deleted by the destructor
+   */
+  bool m_deleteOnExit;
 
 }; // class MockNameServer