diff --git a/tapeserver/daemon/DriveHandler.cpp b/tapeserver/daemon/DriveHandler.cpp
index 934b8e6dbd31a8d4c752308eba8f9e64d3348802..a651213a588a7caa72bec2a5d783d519efb86954 100644
--- a/tapeserver/daemon/DriveHandler.cpp
+++ b/tapeserver/daemon/DriveHandler.cpp
@@ -112,13 +112,6 @@ SubprocessHandler::ProcessingStatus DriveHandler::getInitialStatus() {
   return m_processingStatus;
 }
 
-//------------------------------------------------------------------------------
-// DriveHandler::prepareForFork
-//------------------------------------------------------------------------------
-void DriveHandler::prepareForFork() {
-  // Nothing to do before a fork (ours or other's)
-}
-
 //------------------------------------------------------------------------------
 // DriveHandler::prepareForFork
 //------------------------------------------------------------------------------
diff --git a/tapeserver/daemon/DriveHandler.hpp b/tapeserver/daemon/DriveHandler.hpp
index 038c9c1dd9e581ff6cb075441e5fffb0bc496679..49d25de2daa43779f00a97c49923f31e04dd8469 100644
--- a/tapeserver/daemon/DriveHandler.hpp
+++ b/tapeserver/daemon/DriveHandler.hpp
@@ -39,7 +39,6 @@ public:
   virtual ~DriveHandler();
   SubprocessHandler::ProcessingStatus getInitialStatus() override;
   SubprocessHandler::ProcessingStatus fork() override;
-  void prepareForFork() override;
   void postForkCleanup() override;
   int runChild() override;
   SubprocessHandler::ProcessingStatus shutdown() override;
diff --git a/tapeserver/daemon/ProcessManager.cpp b/tapeserver/daemon/ProcessManager.cpp
index 853453330e9b2e27348677b995cd74c959d3f5c9..719cb69fe5d2e3e9a3f20c725c5a8612f6ae76af 100644
--- a/tapeserver/daemon/ProcessManager.cpp
+++ b/tapeserver/daemon/ProcessManager.cpp
@@ -171,12 +171,6 @@ ProcessManager::RunPartStatus ProcessManager::runForkManagement() {
         params.add("SubprocessName", sp.handler->index);
         m_logContext.log(log::INFO, "Subprocess handler requested forking");
       }
-      for (auto & sp2:m_subprocessHandlers) {
-        sp2.handler->prepareForFork();
-        cta::log::ScopedParamContainer params(m_logContext);
-        params.add("SubprocessName", sp2.handler->index);
-        m_logContext.log(log::INFO, "Subprocess handler prepared for forking");
-      }
       cta::log::ScopedParamContainer params(m_logContext);
       params.add("SubprocessName", sp.handler->index);
       m_logContext.log(log::INFO, "Subprocess handler will fork");
diff --git a/tapeserver/daemon/SignalHandler.cpp b/tapeserver/daemon/SignalHandler.cpp
index 7c089e72ddbf4c87daefb3bc685b0ae0c83b2378..b892bd320203008f6a93e21d799af19407d21390 100644
--- a/tapeserver/daemon/SignalHandler.cpp
+++ b/tapeserver/daemon/SignalHandler.cpp
@@ -160,13 +160,6 @@ void SignalHandler::kill() {
   // We have nothing to kill: noop.
 }
 
-//------------------------------------------------------------------------------
-// SignalHandler::prepareForFork
-//------------------------------------------------------------------------------
-void SignalHandler::prepareForFork() {
-  // We have nothing to do: noop.
-}
-
 //------------------------------------------------------------------------------
 // SignalHandler::postForkCleanup
 //------------------------------------------------------------------------------
diff --git a/tapeserver/daemon/SignalHandler.hpp b/tapeserver/daemon/SignalHandler.hpp
index 01f95350b42200e2551c69ab0f6e6a6457b4279c..740557f2249d5c0482dfe85b732543cbb51ec931 100644
--- a/tapeserver/daemon/SignalHandler.hpp
+++ b/tapeserver/daemon/SignalHandler.hpp
@@ -36,7 +36,6 @@ public:
   SubprocessHandler::ProcessingStatus getInitialStatus() override;
   void kill() override;
   SubprocessHandler::ProcessingStatus processSigChild() override;
-  void prepareForFork() override;
   void postForkCleanup() override;
   SubprocessHandler::ProcessingStatus processEvent() override;
   SubprocessHandler::ProcessingStatus processTimeout() override;
diff --git a/tapeserver/daemon/SubprocessHandler.hpp b/tapeserver/daemon/SubprocessHandler.hpp
index d9fda3138472d44fa2b8266659e9fc6a263f4169..129670542fece605978da92439d529d01e431bec 100644
--- a/tapeserver/daemon/SubprocessHandler.hpp
+++ b/tapeserver/daemon/SubprocessHandler.hpp
@@ -89,8 +89,6 @@ public:
   /** Instructs the handler to kill its subprocess immediately. The process 
    * should be gone upon return. */
   virtual void kill() = 0;
-  /** Instructs the handler to prepare for a fork */
-  virtual void prepareForFork() = 0;
   /** Cleanup anything that should be in the child process */
   virtual void postForkCleanup() = 0;
   /** Instructs the handler to proceed with the fork it requested (returns 
diff --git a/tapeserver/daemon/TestSubprocessHandlers.hpp b/tapeserver/daemon/TestSubprocessHandlers.hpp
index 7dd3ea86759f4d214537df4caaa8cebf059b823b..2e358d9865a7816de7996a532eb907bfa01f387b 100644
--- a/tapeserver/daemon/TestSubprocessHandlers.hpp
+++ b/tapeserver/daemon/TestSubprocessHandlers.hpp
@@ -71,10 +71,6 @@ public:
     return ret;
   }
   
-  void prepareForFork() override {
-    // Nothing to do before fork.
-  }
-  
   void postForkCleanup() override {
     // We are in another subprocesses child processes. We can close our socketpair here without
     // removing it from poll. The side to close is the parent side.
@@ -207,8 +203,6 @@ public:
     return ret;
   }
   
-  void prepareForFork() override { }
-  
   void postForkCleanup() override { }
   
   SubprocessHandler::ProcessingStatus fork() override {