diff --git a/tapeserver/daemon/DriveHandler.cpp b/tapeserver/daemon/DriveHandler.cpp
index 23550db835aa356124468cfdf9d010b3ec6b2138..0bc13a9f3b2dde6d5cc29c6dfc8aa566e884f002 100644
--- a/tapeserver/daemon/DriveHandler.cpp
+++ b/tapeserver/daemon/DriveHandler.cpp
@@ -73,8 +73,10 @@ const std::map<SessionState, DriveHandler::Timeout> DriveHandler::m_stateChangeT
   {SessionState::Unmounting, std::chrono::duration_cast<Timeout>(std::chrono::minutes(10))},
   // Draining to disk is given a grace period of 30 minutes for changing state.
   {SessionState::DrainingToDisk, std::chrono::duration_cast<Timeout>(std::chrono::minutes(30))},
-  // We expect the process to exit within 5 seconds of getting in this state.
-  {SessionState::ShuttingDown, std::chrono::duration_cast<Timeout>(std::chrono::seconds(5))}
+  // We expect the process to exit within 5 minutes of getting in this state. This state
+  // potentially covers the draining of metadata to central storage (if not faster that 
+  // unmounting the tape).
+  {SessionState::ShuttingDown, std::chrono::duration_cast<Timeout>(std::chrono::minutes(5))}
 };
 
 //------------------------------------------------------------------------------
@@ -292,7 +294,7 @@ SubprocessHandler::ProcessingStatus DriveHandler::processEvent() {
     // We expect to be woken up by the child's signal.
     cta::log::ScopedParamContainer params(m_processManager.logContext());
     params.add("Message", ex.getMessageValue());
-    m_processManager.logContext().log(log::ERR, 
+    m_processManager.logContext().log(log::DEBUG, 
         "In DriveHandler::processEvent(): Got a peer disconnect: closing socket and waiting for SIGCHILD");
     return m_processingStatus;
   } catch(cta::exception::Exception & ex) {
diff --git a/tests/helgrind.suppr b/tests/helgrind.suppr
index f8acc4b9529548f59c763e3a51a38b8f5d21d439..85fde3281a39d7c79311fd59f126c0b8edfad842 100644
--- a/tests/helgrind.suppr
+++ b/tests/helgrind.suppr
@@ -298,10 +298,61 @@
 }
 
 {
-   Locks taken from 2 objects
+   destruction_of_stack_object_probably_safe
    Helgrind:Race
    ...
    fun:_ZNSt7promiseIvED1Ev
+   fun:_ZN3cta11objectstore14AgentReference6ActionD1Ev
+   fun:_ZN3cta11objectstore14AgentReference14addToOwnershipERKSsRNS0_7BackendE
+   fun:_ZN3cta8OStoreDB12ArchiveMount10getNextJobERNS_3log10LogContextE
+   ...
+}
+
+{
+   helgrind_reports_q_mutex_while_we_hold_m_currentQueueMutex_as_well_in_add
+   Helgrind:Race
+   ...
+   fun:_ZNKSt14default_deleteISt7promiseIvEEclEPS1_
+   fun:_ZNSt10unique_ptrISt7promiseIvESt14default_deleteIS1_EED1Ev
+   fun:_ZN3cta11objectstore14AgentReference21queueAndExecuteActionERNS1_6ActionERNS0_7BackendE
+   fun:_ZN3cta11objectstore14AgentReference19removeFromOwnershipERKSsRNS0_7BackendE
+   ...
+}
+
+{
+   helgrind_reports_q_mutex_while_we_hold_m_currentQueueMutex_as_well_in_remove
+   Helgrind:Race
+   ...
    fun:_ZNKSt14default_deleteISt7promiseIvEEclEPS1_
    fun:_ZNSt10unique_ptrISt7promiseIvESt14default_deleteIS1_EED1Ev
    fun:_ZN3cta11objectstore14AgentReference21queueAndExecuteActionERNS1_6ActionERNS0_7BackendE
+   fun:_ZN3cta11objectstore14AgentReference14addToOwnershipERKSsRNS0_7BackendE
+   ...
+}
+
+{
+   helgrind_reports_stack_allocated_objects_constructor_in_race
+   Helgrind:Race
+   ...
+   fun:_ZNSt7promiseIvED1Ev
+   fun:_ZN3cta11objectstore14AgentReference6ActionD1Ev
+   fun:_ZN3cta11objectstore14AgentReference19removeFromOwnershipERKSsRNS0_7BackendE
+   ...
+}
+
+{
+   shared_pointer_destructor
+   Helgrind:Race
+   fun:my_memcmp
+   fun:pthread_cond_destroy_WRK
+   fun:pthread_cond_destroy@*
+   fun:_ZNSt13__future_base11_State_baseD1Ev
+   fun:_ZN9__gnu_cxx13new_allocatorINSt13__future_base11_State_baseEE7destroyIS2_EEvPT_
+   fun:_ZNSt16allocator_traitsISaINSt13__future_base11_State_baseEEE10_S_destroyIS1_EENSt9enable_ifIXsrNS3_16__destroy_helperIT_EE5valueEvE4typeERS2_PS7_
+   fun:_ZNSt16allocator_traitsISaINSt13__future_base11_State_baseEEE7destroyIS1_EEvRS2_PT_
+   fun:_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base11_State_baseESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv
+   fun:_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv
+   fun:_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EED1Ev
+   fun:_ZNSt12__shared_ptrINSt13__future_base11_State_baseELN9__gnu_cxx12_Lock_policyE2EED1Ev
+   fun:_ZNSt10shared_ptrINSt13__future_base11_State_baseEED1Ev
+}
\ No newline at end of file