diff --git a/RTCP/Cobalt/InputProc/src/Transpose/MPIUtil2.cc b/RTCP/Cobalt/InputProc/src/Transpose/MPIUtil2.cc
index 4a636576c1453bd14c98587ed87490c266ea10e3..e0141868f5308117f9d0d821e7ca4cf912cea648 100644
--- a/RTCP/Cobalt/InputProc/src/Transpose/MPIUtil2.cc
+++ b/RTCP/Cobalt/InputProc/src/Transpose/MPIUtil2.cc
@@ -90,10 +90,14 @@ namespace LOFAR {
     void MPIPoll::stop() {
       DEBUG("MPIPoll::stop");
 
-      done = true;
+      {
+        ScopedLock sl(mutex);
 
-      // Unlock thread if it is waiting for a new request
-      newRequest.signal();
+        done = true;
+
+        // Unlock thread if it is waiting for a new request
+        newRequest.signal();
+      }
 
       // Wait for thread to finish
       thread = 0;