diff --git a/tapeserver/daemon/DriveHandler.cpp b/tapeserver/daemon/DriveHandler.cpp
index 7aacd5443109a44436a850820836b7821b2db681..5a6be8c2483e416e9b63c1511c0de71934cccf63 100644
--- a/tapeserver/daemon/DriveHandler.cpp
+++ b/tapeserver/daemon/DriveHandler.cpp
@@ -584,12 +584,14 @@ SubprocessHandler::ProcessingStatus DriveHandler::processSigChild() {
       params.add("exitCode", WEXITSTATUS(processStatus));
       m_processManager.logContext().log(log::INFO, "Drive subprocess exited. Will spawn a new one.");
       resetToDefault(PreviousSession::OK);
+      m_processingStatus.forkRequested=true;
     } else {
       params.add("IfSignaled", WIFSIGNALED(processStatus))
             .add("TermSignal", WTERMSIG(processStatus))
             .add("CoreDump", WCOREDUMP(processStatus));
       m_processManager.logContext().log(log::INFO, "Drive subprocess crashed. Will spawn a new one.");
       resetToDefault(PreviousSession::Crashed);
+      m_processingStatus.forkRequested=true;
     }
   }
   return m_processingStatus;