diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt
index 29902fb46448c9f4fc5d91e4e7dfccbaf2d1aed6..19582aa292e17bfefc2b1157adf2d6689f72d8b7 100644
--- a/common/CMakeLists.txt
+++ b/common/CMakeLists.txt
@@ -75,6 +75,7 @@ set (COMMON_LIB_SRC_FILES
   exception/BadAlloc.cpp
   exception/CommandLineNotParsed.cpp
   exception/InvalidArgument.cpp
+  exception/InvalidConfigEntry.cpp
   log/DummyLogger.cpp
   log/LogContext.cpp
   log/Logger.cpp
diff --git a/tapeserver/castor/exception/InvalidConfigEntry.cpp b/common/exception/InvalidConfigEntry.cpp
similarity index 86%
rename from tapeserver/castor/exception/InvalidConfigEntry.cpp
rename to common/exception/InvalidConfigEntry.cpp
index a5c5f661ba615491d06eefbda7bc0d6a7894f73b..3268e05f48e8c81b817c3bddba8cf89e400d08d9 100644
--- a/tapeserver/castor/exception/InvalidConfigEntry.cpp
+++ b/common/exception/InvalidConfigEntry.cpp
@@ -21,7 +21,7 @@
  * @author Castor Dev team, castor-dev@cern.ch
  *****************************************************************************/
 
-#include "castor/exception/InvalidConfigEntry.hpp"
+#include "common/exception/InvalidConfigEntry.hpp"
 
 #include <errno.h>
 
@@ -29,7 +29,7 @@
 // -----------------------------------------------------------------------------
 // Constructor
 // -----------------------------------------------------------------------------
-castor::exception::InvalidConfigEntry::InvalidConfigEntry(
+cta::exception::InvalidConfigEntry::InvalidConfigEntry(
   const char *const entryCategory, const char *const entryName,
   const char *const entryValue) :
   cta::exception::Exception(), m_entryCategory(entryCategory),
@@ -40,7 +40,7 @@ castor::exception::InvalidConfigEntry::InvalidConfigEntry(
 // -----------------------------------------------------------------------------
 // getEntryCategory()
 // -----------------------------------------------------------------------------
-const std::string &castor::exception::InvalidConfigEntry::getEntryCategory() {
+const std::string &cta::exception::InvalidConfigEntry::getEntryCategory() {
   return m_entryCategory;
 }
 
@@ -48,7 +48,7 @@ const std::string &castor::exception::InvalidConfigEntry::getEntryCategory() {
 // -----------------------------------------------------------------------------
 // getEntryName()
 // -----------------------------------------------------------------------------
-const std::string &castor::exception::InvalidConfigEntry::getEntryName() {
+const std::string &cta::exception::InvalidConfigEntry::getEntryName() {
   return m_entryName;
 }
 
@@ -56,7 +56,7 @@ const std::string &castor::exception::InvalidConfigEntry::getEntryName() {
 // -----------------------------------------------------------------------------
 // getEntryValue()
 // -----------------------------------------------------------------------------
-const std::string &castor::exception::InvalidConfigEntry::getEntryValue()
+const std::string &cta::exception::InvalidConfigEntry::getEntryValue()
 {
   return m_entryValue;
 }
diff --git a/tapeserver/castor/exception/InvalidConfigEntry.hpp b/common/exception/InvalidConfigEntry.hpp
similarity index 97%
rename from tapeserver/castor/exception/InvalidConfigEntry.hpp
rename to common/exception/InvalidConfigEntry.hpp
index 52c09f6b25c049eab630ce7bc9037f4cf1dd0267..4d0b379e943aa20030804822162dd57409ef3738 100644
--- a/tapeserver/castor/exception/InvalidConfigEntry.hpp
+++ b/common/exception/InvalidConfigEntry.hpp
@@ -28,7 +28,7 @@
 #include <string>
 
 
-namespace castor { namespace exception {
+namespace cta { namespace exception {
 
     /**
      * Invalid configuration entry exception.
@@ -88,5 +88,5 @@ namespace castor { namespace exception {
 
     }; // class InvalidConfigEntry
 
-} } // namespace castor exception
+} } // namespace cta exception
 
diff --git a/tapeserver/castor/common/CastorConfiguration.hpp b/tapeserver/castor/common/CastorConfiguration.hpp
index d64c7bfc9dfbe57cffd86c5f333e6270dd642efd..9f42489c74bf0497e72489bdba92bf4bb65111ba 100644
--- a/tapeserver/castor/common/CastorConfiguration.hpp
+++ b/tapeserver/castor/common/CastorConfiguration.hpp
@@ -154,7 +154,7 @@ namespace castor {
         }
 
         if (!castor::utils::isValidUInt(strValue.c_str())) {
-          castor::exception::InvalidConfigEntry ex(category.c_str(),
+          cta::exception::InvalidConfigEntry ex(category.c_str(),
             key.c_str(), strValue.c_str());
           ex.getMessage() << "Failed to get configuration entry " << category <<
             ":" << key << ": Value is not a valid unsigned integer: value=" <<
@@ -196,7 +196,7 @@ namespace castor {
         const std::string strValue = getConfEntString(category, key);
 
         if (!castor::utils::isValidUInt(strValue.c_str())) {
-          castor::exception::InvalidConfigEntry ex(category.c_str(),
+          cta::exception::InvalidConfigEntry ex(category.c_str(),
             key.c_str(), strValue.c_str());
           ex.getMessage() << "Failed to get configuration entry " << category <<
             ":" << key << ": Value is not a valid unsigned integer: value=" <<
diff --git a/tapeserver/castor/tape/tapeserver/daemon/TapeDaemon.hpp b/tapeserver/castor/tape/tapeserver/daemon/TapeDaemon.hpp
index 19d242a833c060ec0e4fff04f4c55ce5eb933a35..f7144d3204c763c15e551ace35b41b5bfe7fcad1 100644
--- a/tapeserver/castor/tape/tapeserver/daemon/TapeDaemon.hpp
+++ b/tapeserver/castor/tape/tapeserver/daemon/TapeDaemon.hpp
@@ -24,7 +24,7 @@
 #pragma once
 
 #include "castor/common/CastorConfiguration.hpp"
-#include "castor/exception/InvalidConfigEntry.hpp"
+#include "common/exception/InvalidConfigEntry.hpp"
 #include "castor/exception/NoEntry.hpp"
 #include "castor/server/Daemon.hpp"
 #include "castor/server/ProcessCap.hpp"
diff --git a/tapeserver/castor/utils/CMakeLists.txt b/tapeserver/castor/utils/CMakeLists.txt
index 00463c5a5e4a3f07f2d161cf5705201ad36e588f..3898a8b610c4c3c81784bb8d83022f80014ebc0b 100644
--- a/tapeserver/castor/utils/CMakeLists.txt
+++ b/tapeserver/castor/utils/CMakeLists.txt
@@ -33,7 +33,6 @@ set (UTILS_LIB_SRC_FILES
   ../exception/NoEntry.cpp
   ../exception/Errnum.cpp
   ../exception/NotAnOwner.cpp
-  ../exception/InvalidConfigEntry.cpp
   ../exception/MissingOperand.cpp
   ../exception/NoPortInRange.cpp
   ../exception/TimeOut.cpp
diff --git a/tapeserver/castor/utils/utils.hpp b/tapeserver/castor/utils/utils.hpp
index eac9c6aad5ba270a1ead03bed37e3d358b3e3a71..389683ce987062209c10f01ca68d4978f9b9b835 100644
--- a/tapeserver/castor/utils/utils.hpp
+++ b/tapeserver/castor/utils/utils.hpp
@@ -25,7 +25,7 @@
 #pragma once
 
 #include "common/exception/InvalidArgument.hpp"
-#include "castor/exception/InvalidConfigEntry.hpp"
+#include "common/exception/InvalidConfigEntry.hpp"
 #include "castor/exception/InvalidConfiguration.hpp"
 #include "common/exception/Exception.hpp"