diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt
index fa925b25d52b083578c2c1976bff0a819e5cecc4..9b1969c91c365078afee00ea4fb05a012832af9d 100644
--- a/common/CMakeLists.txt
+++ b/common/CMakeLists.txt
@@ -21,6 +21,8 @@ find_package (libattr REQUIRED)
 find_package (libcap REQUIRED)
 find_package (libuuid REQUIRED)
 
+add_subdirectory (exception)
+
 set (COMMON_LIB_SRC_FILES
   dataStructures/AdminHost.cpp
   dataStructures/AdminUser.cpp
diff --git a/tapeserver/castor/exception/CMakeLists.txt b/common/exception/CMakeLists.txt
similarity index 100%
rename from tapeserver/castor/exception/CMakeLists.txt
rename to common/exception/CMakeLists.txt
diff --git a/tapeserver/castor/exception/ExceptionTest.cpp b/common/exception/ExceptionTest.cpp
similarity index 97%
rename from tapeserver/castor/exception/ExceptionTest.cpp
rename to common/exception/ExceptionTest.cpp
index e6bf0ecdc5a18af714439e93bcd608e585a82346..18bca5efb1b2048a311ba5bbc94e9a5fc6d6c998 100644
--- a/tapeserver/castor/exception/ExceptionTest.cpp
+++ b/common/exception/ExceptionTest.cpp
@@ -52,7 +52,7 @@ namespace unitTests {
     f2();
   }
 
-  TEST(castor_exceptions, stacktrace_with_demangling) {
+  TEST(cta_exceptions, stacktrace_with_demangling) {
     try {
       Nested x;
     } catch (cta::exception::Exception & e) {
@@ -65,7 +65,7 @@ namespace unitTests {
     }
   }
   
-    TEST(castor_exceptions, stacktrace_in_std_exception) {
+    TEST(cta_exceptions, stacktrace_in_std_exception) {
     try {
       Nested x;
     } catch (std::exception & e) {
diff --git a/tapeserver/castor/CMakeLists.txt b/tapeserver/castor/CMakeLists.txt
index 8364ad2f44a45cd4d67b6b997d81a597229822a6..4728fce2ff472bbed113b033a1dc58560fceec43 100644
--- a/tapeserver/castor/CMakeLists.txt
+++ b/tapeserver/castor/CMakeLists.txt
@@ -18,7 +18,6 @@
 #
 cmake_minimum_required (VERSION 2.6)
 
-add_subdirectory (exception)
 add_subdirectory (io)
 add_subdirectory (legacymsg)
 add_subdirectory (log)