diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt
index c6292f027cbf449d34a70fc6fe20d8f71be7b1d9..8a2ef1faa7885a5d352234610dc7e70d5804e596 100644
--- a/common/CMakeLists.txt
+++ b/common/CMakeLists.txt
@@ -78,6 +78,7 @@ set (COMMON_LIB_SRC_FILES
   exception/InvalidConfigEntry.cpp
   exception/MissingOperand.cpp
   exception/NoEntry.cpp
+  exception/NoPortInRange.cpp
   log/DummyLogger.cpp
   log/LogContext.cpp
   log/Logger.cpp
diff --git a/tapeserver/castor/exception/NoPortInRange.cpp b/common/exception/NoPortInRange.cpp
similarity index 88%
rename from tapeserver/castor/exception/NoPortInRange.cpp
rename to common/exception/NoPortInRange.cpp
index 1fcfe644033aa4c2b84318ed0cb8c9a62de9be4d..093ab55a1bec648c606968f668f4646a76fe5152 100644
--- a/tapeserver/castor/exception/NoPortInRange.cpp
+++ b/common/exception/NoPortInRange.cpp
@@ -21,13 +21,13 @@
  * @author Castor Dev team, castor-dev@cern.ch
  *****************************************************************************/
 
-#include "castor/exception/NoPortInRange.hpp"
+#include "common/exception/NoPortInRange.hpp"
 
 
 //------------------------------------------------------------------------------
 // Constructor
 //------------------------------------------------------------------------------
-castor::exception::NoPortInRange::NoPortInRange(
+cta::exception::NoPortInRange::NoPortInRange(
   const unsigned short lowPort,
   const unsigned short highPort) throw() :
   cta::exception::Exception(),
@@ -41,7 +41,7 @@ castor::exception::NoPortInRange::NoPortInRange(
 //------------------------------------------------------------------------------
 // getLowPort()
 //------------------------------------------------------------------------------
-unsigned short castor::exception::NoPortInRange::getLowPort() throw() {
+unsigned short cta::exception::NoPortInRange::getLowPort() throw() {
   return m_lowPort;
 }
 
@@ -49,6 +49,6 @@ unsigned short castor::exception::NoPortInRange::getLowPort() throw() {
 //------------------------------------------------------------------------------
 // getHighPort()
 //------------------------------------------------------------------------------
-unsigned short castor::exception::NoPortInRange::getHighPort() throw() {
+unsigned short cta::exception::NoPortInRange::getHighPort() throw() {
   return m_highPort;
 }
diff --git a/tapeserver/castor/exception/NoPortInRange.hpp b/common/exception/NoPortInRange.hpp
similarity index 98%
rename from tapeserver/castor/exception/NoPortInRange.hpp
rename to common/exception/NoPortInRange.hpp
index fdc2d46fe47579e1d95a7c13112a4080e6b3a689..6ffe7e513dd9d7ed6707d4835ecc4ace7fd497b4 100644
--- a/tapeserver/castor/exception/NoPortInRange.hpp
+++ b/common/exception/NoPortInRange.hpp
@@ -28,7 +28,7 @@
 #include <string>
 
 
-namespace castor    {
+namespace cta    {
 namespace exception {
 
 /**
@@ -79,5 +79,5 @@ private:
 }; // class NoPortInRange
 
 } // namespace exception
-} // namespace castor
+} // namespace cta
 
diff --git a/tapeserver/castor/io/io.cpp b/tapeserver/castor/io/io.cpp
index 1deb52ae4595610b83c05b60538feb46aea54655..b82307b9d528dc1f7c4fe11bae905d01f89dbf96 100644
--- a/tapeserver/castor/io/io.cpp
+++ b/tapeserver/castor/io/io.cpp
@@ -211,7 +211,7 @@ int castor::io::createListenerSock(
   // If this line is reached then all ports in the specified range are in use
 
   // Throw an exception
-  castor::exception::NoPortInRange ex(lowPort, highPort);
+  cta::exception::NoPortInRange ex(lowPort, highPort);
   ex.getMessage() <<
     "All ports within the specified range are in use"
     ": listenSocketFd=" << sock.get() <<
diff --git a/tapeserver/castor/io/io.hpp b/tapeserver/castor/io/io.hpp
index bd8a3f9b292549e62966877d7249f4741951b4db..b37f556f0c0a01c602b16f0c4537bff53d5a93b4 100644
--- a/tapeserver/castor/io/io.hpp
+++ b/tapeserver/castor/io/io.hpp
@@ -26,7 +26,7 @@
 
 #include "common/exception/AcceptConnectionInterrupted.hpp"
 #include "common/exception/InvalidArgument.hpp"
-#include "castor/exception/NoPortInRange.hpp"
+#include "common/exception/NoPortInRange.hpp"
 #include "castor/exception/TimeOut.hpp"
 #include "castor/io/Constants.hpp"
 #include "castor/io/IpAndPort.hpp"
diff --git a/tapeserver/castor/utils/CMakeLists.txt b/tapeserver/castor/utils/CMakeLists.txt
index 344b5aca6b2ce672994d88bc518c9cb2b74404b6..71a283a13a4887f83fb679e3ba1b8a5ba04f1484 100644
--- a/tapeserver/castor/utils/CMakeLists.txt
+++ b/tapeserver/castor/utils/CMakeLists.txt
@@ -32,7 +32,6 @@ set (UTILS_LIB_SRC_FILES
   ../common/CastorConfiguration.cpp
   ../exception/Errnum.cpp
   ../exception/NotAnOwner.cpp
-  ../exception/NoPortInRange.cpp
   ../exception/TimeOut.cpp
   ../exception/OutOfMemory.cpp
   ../BaseObject.cpp