diff --git a/tapeserver/daemon/TapeDaemon.cpp b/tapeserver/daemon/TapeDaemon.cpp
index 43d5b59b8a4dcec93fe6d78190f326e4f4ec0e71..21d94831dac6ea880553a7c22d720aef6cc3db63 100644
--- a/tapeserver/daemon/TapeDaemon.cpp
+++ b/tapeserver/daemon/TapeDaemon.cpp
@@ -95,7 +95,7 @@ void cta::tape::daemon::TapeDaemon::mainEventLoop() {
   log::LogContext lc(m_log);
   // Create the process manager and signal handler
   ProcessManager pm(lc);
-  std::unique_ptr<SignalHandler> sh;
+  std::unique_ptr<SignalHandler> sh(new SignalHandler(pm));
   pm.addHandler(std::move(sh));
   // Create the drive handlers
   for (auto & d: m_globalConfiguration.driveConfigs) {