diff --git a/objectstore/BackendPopulator.cpp b/objectstore/BackendPopulator.cpp
index cdbffe2d27cccb2a768163da16d530bdb8d70120..0214aff4cb654674d35c298341a909b085917ebe 100644
--- a/objectstore/BackendPopulator.cpp
+++ b/objectstore/BackendPopulator.cpp
@@ -25,7 +25,8 @@ namespace cta { namespace objectstore {
 //------------------------------------------------------------------------------
 // Constructor
 //------------------------------------------------------------------------------
-BackendPopulator::BackendPopulator(cta::objectstore::Backend & be): m_backend(be), m_agentReference("OStoreDBFactoryAgent") {
+BackendPopulator::BackendPopulator(cta::objectstore::Backend & be, 
+    const std::string &agentType): m_backend(be), m_agentReference(agentType) {
   cta::objectstore::RootEntry re(m_backend);
   cta::objectstore::ScopedExclusiveLock rel(re);
   re.fetch();
diff --git a/objectstore/BackendPopulator.hpp b/objectstore/BackendPopulator.hpp
index 81b255a5b117034d86b218d74b8645d953e8c84b..4567bdbcec43e498eb40f22a4371d664290e0293 100644
--- a/objectstore/BackendPopulator.hpp
+++ b/objectstore/BackendPopulator.hpp
@@ -32,8 +32,8 @@ public:
    * 
    * @param be The objectstore backend
    */
-  BackendPopulator(cta::objectstore::Backend & be);
-
+  BackendPopulator(cta::objectstore::Backend & be, const std::string &agentType="OStoreDBFactoryAgent");
+  
   /**
    * Destructor
    */
diff --git a/tapeserver/daemon/DriveHandler.cpp b/tapeserver/daemon/DriveHandler.cpp
index 601af9a2e5d26f9436abdb6586f7d0d5001e577e..e16fb5f8947ec73af4b11486f8389a6024db5371 100644
--- a/tapeserver/daemon/DriveHandler.cpp
+++ b/tapeserver/daemon/DriveHandler.cpp
@@ -819,7 +819,9 @@ int DriveHandler::runChild() {
   std::unique_ptr<cta::objectstore::BackendPopulator> backendPopulator;
   std::unique_ptr<cta::OStoreDBWithAgent> osdb;
   try {
-    backendPopulator.reset(new cta::objectstore::BackendPopulator(*backend));
+    std::string processName="DriveProcess-";
+    processName+=m_configLine.unitName;
+    backendPopulator.reset(new cta::objectstore::BackendPopulator(*backend, processName));
     osdb.reset(new cta::OStoreDBWithAgent(*backend, backendPopulator->getAgentReference()));
   } catch(cta::exception::Exception &ex) {
     log::ScopedParamContainer param(m_processManager.logContext());
diff --git a/tapeserver/daemon/GarbageCollectorHandler.cpp b/tapeserver/daemon/GarbageCollectorHandler.cpp
index f2ad51718443e25ef4556c44f2ead6fdd4c776c4..3e66ab63519ca277bbb589e6990b4ff0bfc34657 100644
--- a/tapeserver/daemon/GarbageCollectorHandler.cpp
+++ b/tapeserver/daemon/GarbageCollectorHandler.cpp
@@ -266,7 +266,7 @@ int GarbageCollectorHandler::runChild() {
   std::unique_ptr<cta::catalogue::Catalogue> catalogue;
   std::unique_ptr<cta::Scheduler> scheduler;
   try {
-    backendPopulator.reset(new cta::objectstore::BackendPopulator(*backend));
+    backendPopulator.reset(new cta::objectstore::BackendPopulator(*backend, "garbageCollector"));
     osdb.reset(new cta::OStoreDBWithAgent(*backend, backendPopulator->getAgentReference()));
     const cta::rdbms::Login catalogueLogin = cta::rdbms::Login::parseFile(m_tapedConfig.fileCatalogConfigFile.value());
     const uint64_t nbConns = 1;
diff --git a/xroot_plugins/XrdCtaFilesystem.cpp b/xroot_plugins/XrdCtaFilesystem.cpp
index cdf2581b8554df6b5966b2d99a2ce1d67f162cca..777c95ce66e45584666485b16a811c9e8b491cb3 100644
--- a/xroot_plugins/XrdCtaFilesystem.cpp
+++ b/xroot_plugins/XrdCtaFilesystem.cpp
@@ -520,7 +520,7 @@ XrdCtaFilesystem::XrdCtaFilesystem():
   m_xrdOucBuffPool(1024, 65536), // XrdOucBuffPool(minsz, maxsz)
   m_ctaConf("/etc/cta/cta-frontend.conf"),
   m_backend(cta::objectstore::BackendFactory::createBackend(m_ctaConf.getConfEntString("ObjectStore", "BackendPath", nullptr)).release()),
-  m_backendPopulator(*m_backend),
+  m_backendPopulator(*m_backend, "Frontend"),
   m_scheddb(*m_backend, m_backendPopulator.getAgentReference()) {
   using namespace cta;