diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt
index 25f62f9d3acba9d9cd4c649cefa6c760eb479426..efbb3c769f6a8a452e7290a8927ea60b6b465864 100644
--- a/common/CMakeLists.txt
+++ b/common/CMakeLists.txt
@@ -1,18 +1,20 @@
 cmake_minimum_required (VERSION 2.6)
 
 set (COMMON_LIB_SRC_FILES
-  FileStatus.cpp
-  SmartFd.cpp
-  Timer.cpp
-  UserIdentity.cpp
-  Utils.cpp
+  DirEntry.cpp
+  DirIterator.cpp
   exception/Backtrace.cpp
   exception/Errnum.cpp
   exception/Exception.cpp
+  FileStatus.cpp
+  SmartFd.cpp
   strerror_r_wrapper.cpp
+  Timer.cpp
   threading/ChildProcess.cpp
   threading/Mutex.cpp
-  threading/Threading.cpp)
+  threading/Threading.cpp
+  UserIdentity.cpp
+  Utils.cpp)
 
 add_library (ctacommon SHARED
   ${COMMON_LIB_SRC_FILES})
diff --git a/scheduler/DirEntry.cpp b/common/DirEntry.cpp
similarity index 99%
rename from scheduler/DirEntry.cpp
rename to common/DirEntry.cpp
index a8f7d914bc01ebbf0bc24a13ee5c8214c4ee21c1..3bfb48c1e570037be0c8403af1a2fbf81603154b 100644
--- a/scheduler/DirEntry.cpp
+++ b/common/DirEntry.cpp
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "scheduler/DirEntry.hpp"
+#include "common/DirEntry.hpp"
 
 //------------------------------------------------------------------------------
 // entryTypeToStr
diff --git a/scheduler/DirEntry.hpp b/common/DirEntry.hpp
similarity index 100%
rename from scheduler/DirEntry.hpp
rename to common/DirEntry.hpp
diff --git a/scheduler/DirIterator.cpp b/common/DirIterator.cpp
similarity index 98%
rename from scheduler/DirIterator.cpp
rename to common/DirIterator.cpp
index 25ecb8b7b37ea13188e32fbf28b687f36dfefe60..71756ebdc2d124b9b1986e875cb2a2e0366440c8 100644
--- a/scheduler/DirIterator.cpp
+++ b/common/DirIterator.cpp
@@ -16,7 +16,7 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "scheduler/DirIterator.hpp"
+#include "common/DirIterator.hpp"
 #include "common/exception/Exception.hpp"
 using cta::exception::Exception;
 
diff --git a/scheduler/DirIterator.hpp b/common/DirIterator.hpp
similarity index 98%
rename from scheduler/DirIterator.hpp
rename to common/DirIterator.hpp
index 8ceead2ef220756530c8387c11603b624bf5e342..5a46ca046b93dfd6c0c57b27bf6e2289d2308009 100644
--- a/scheduler/DirIterator.hpp
+++ b/common/DirIterator.hpp
@@ -18,7 +18,7 @@
 
 #pragma once
 
-#include "scheduler/DirEntry.hpp"
+#include "common/DirEntry.hpp"
 
 #include <list>
 
diff --git a/nameserver/MockNameServer.hpp b/nameserver/MockNameServer.hpp
index db233543dfd5d954827e1109b957908bf13cc6c9..7b569a67d9fe761e19f5e02162a232eab6d5aca7 100644
--- a/nameserver/MockNameServer.hpp
+++ b/nameserver/MockNameServer.hpp
@@ -20,7 +20,7 @@
 
 #include "common/UserIdentity.hpp"
 #include "nameserver/NameServer.hpp"
-#include "scheduler/DirIterator.hpp"
+#include "common/DirIterator.hpp"
 #include "scheduler/SecurityIdentity.hpp"
 
 #include <list>
diff --git a/nameserver/NameServer.hpp b/nameserver/NameServer.hpp
index cff5b3c0a4b860c6adff3f019d1eabacc36fc832..44557e750bbbd5321c465507a0db27ebb7c22ae4 100644
--- a/nameserver/NameServer.hpp
+++ b/nameserver/NameServer.hpp
@@ -19,7 +19,7 @@
 #pragma once
 
 #include "common/FileStatus.hpp"
-#include "scheduler/DirIterator.hpp"
+#include "common/DirIterator.hpp"
 #include "scheduler/SecurityIdentity.hpp"
 
 #include <string>
diff --git a/scheduler/CMakeLists.txt b/scheduler/CMakeLists.txt
index 67c8c67effe382aac742787f4064f7d301ead582..17ce6b69f6bbb23bd2a09e2ebd57d9705c4a1c42 100644
--- a/scheduler/CMakeLists.txt
+++ b/scheduler/CMakeLists.txt
@@ -17,8 +17,6 @@ set (CTA_SCHEDULER_SRC_FILES
   ArchiveToTapeCopyRequest.cpp
   ConfigurationItem.cpp
   CreationLog.cpp
-  DirEntry.cpp
-  DirIterator.cpp
   DiskException.cpp
   DriveQuota.cpp
   FileAttribute.cpp
diff --git a/scheduler/FileSystemDirEntry.hpp b/scheduler/FileSystemDirEntry.hpp
index a2ef8c5cd5272f898b2e1fb571a14480819224f5..88bcf92725d365db94a0a3a4b762a7bb57094b6d 100644
--- a/scheduler/FileSystemDirEntry.hpp
+++ b/scheduler/FileSystemDirEntry.hpp
@@ -18,7 +18,7 @@
 
 #pragma once
 
-#include "scheduler/DirEntry.hpp"
+#include "common/DirEntry.hpp"
 #include "scheduler/FileSystemStorageClasses.hpp"
 
 namespace cta {
diff --git a/scheduler/MockSchedulerDatabase.cpp b/scheduler/MockSchedulerDatabase.cpp
index fda369e7214ff557d1d45f9f6bd78d17b2c7bb35..1e95dbf3225b80405b34b964dc3f388a92f862ff 100644
--- a/scheduler/MockSchedulerDatabase.cpp
+++ b/scheduler/MockSchedulerDatabase.cpp
@@ -25,7 +25,7 @@
 #include "scheduler/ArchiveToFileRequest.hpp"
 #include "scheduler/ArchiveToTapeCopyRequest.hpp"
 #include "scheduler/ArchivalRoute.hpp"
-#include "scheduler/DirIterator.hpp"
+#include "common/DirIterator.hpp"
 #include "scheduler/LogicalLibrary.hpp"
 #include "scheduler/MockSchedulerDatabase.hpp"
 #include "scheduler/RetrieveFromTapeCopyRequest.hpp"
diff --git a/xroot_plugins/XrdProFile.cpp b/xroot_plugins/XrdProFile.cpp
index 2779e0e24ad6cb0640752765fc9976055bacb7c4..ea1f401c409659aa34f54ffbff0b95b5953ca2d9 100644
--- a/xroot_plugins/XrdProFile.cpp
+++ b/xroot_plugins/XrdProFile.cpp
@@ -34,7 +34,7 @@
 
 #include "XrdSec/XrdSecEntity.hh"
 #include "cmdline/CTACmd.hpp"
-#include "scheduler/DirIterator.hpp"
+#include "common/DirIterator.hpp"
 
 #include <iostream>
 #include <pwd.h>