diff --git a/RTCP/Cobalt/CoInterface/src/CorrelatedData.cc b/RTCP/Cobalt/CoInterface/src/CorrelatedData.cc
index c207e63c26040dd8a44573226f287f78e734cd77..093e8638049f0825dfb2baa3eea02095a2dad62b 100644
--- a/RTCP/Cobalt/CoInterface/src/CorrelatedData.cc
+++ b/RTCP/Cobalt/CoInterface/src/CorrelatedData.cc
@@ -75,7 +75,8 @@ namespace LOFAR
                    [NR_POLARIZATIONS],
                    itsAlignment,
                    allocator,
-                   true),
+                   true,
+                   false),
       itsNrBytesPerNrValidSamples(nrBytesPerNrValidSamples(maxNrValidSamples))
     {
       init(nrChannels, allocator);
@@ -130,26 +131,19 @@ namespace LOFAR
       case 4:
         itsNrValidSamples4.resize(
           boost::extents[itsNrBaselines][nrChannels],
-          itsAlignment, allocator, true);
+          itsAlignment, allocator, true, false);
         break;
       case 2: 
         itsNrValidSamples2.resize(
           boost::extents[itsNrBaselines][nrChannels],
-          itsAlignment, allocator, true);
+          itsAlignment, allocator, true, false);
         break;
       case 1:
         itsNrValidSamples1.resize(
           boost::extents[itsNrBaselines][nrChannels],
-          itsAlignment, allocator, true);
+          itsAlignment, allocator, true, false);
         break;
       }
-
-      // zero weights
-      for (size_t bl = 0; bl < itsNrBaselines; ++bl) {
-        for (size_t ch = 0; ch < nrChannels; ++ch) {
-          setNrValidSamples(bl, ch, 0);
-        }
-      }
     }
 
 
diff --git a/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh b/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh
index ab6decd8b21fd1683d5da5b5f2676f26791a48c4..68d89c7f543574e147dbe2543cb35ebae1512edc 100755
--- a/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh
+++ b/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh
@@ -243,7 +243,6 @@ fi
 SSH_USER_NAME=$(getkey Cobalt.OutputProc.userName $USER)
 SSH_PUBLIC_KEY=$(getkey Cobalt.OutputProc.sshPublicKey)
 SSH_PRIVATE_KEY=$(getkey Cobalt.OutputProc.sshPrivateKey)
-OUTPUT_PROC_EXECUTABLE=$(getkey Cobalt.OutputProc.executable)
 OBSERVATIONID=$(getkey Observation.ObsID 0)
 
 read_cluster_model
@@ -361,7 +360,7 @@ echo "[outputProc] pid file = $PID_LIST_FILE"
 touch $PID_LIST_FILE
 
 # Construct full command line for outputProc
-OUTPUTPROC_CMDLINE="source $OUTPUTPROC_ROOT/lofarinit.sh; export QUEUE_PREFIX=$QUEUE_PREFIX LOFARENV=$LOFARENV; $OUTPUT_PROC_EXECUTABLE $OBSERVATIONID"
+OUTPUTPROC_CMDLINE="source $OUTPUTPROC_ROOT/lofarinit.sh; export QUEUE_PREFIX=$QUEUE_PREFIX LOFARENV=$LOFARENV; numactl --cpunodebind=0 --preferred=0 outputProc $OBSERVATIONID"
 
 # Wrap command line with Docker if required
 if $DOCKER; then
diff --git a/RTCP/Cobalt/OutputProc/src/GPUProcIO.cc b/RTCP/Cobalt/OutputProc/src/GPUProcIO.cc
index 3e93b865c8171f86a3c1854aa06718f64675c7a8..ba8ca1431ef557fa53c46c45f5f57d26eb684b74 100644
--- a/RTCP/Cobalt/OutputProc/src/GPUProcIO.cc
+++ b/RTCP/Cobalt/OutputProc/src/GPUProcIO.cc
@@ -101,11 +101,7 @@ bool process(Stream &controlStream)
 {
   bool success(true);
 
-  // obtain the parset but don't wait forever. Note that we do not know whether
-  // we're running in real time mode or not.
-  alarm(3600);
   Parset parset(&controlStream);
-  alarm(0);
 
   string myHostName = myHostname(false);
 
@@ -127,6 +123,9 @@ bool process(Stream &controlStream)
              defaultOutputProcTimeout);
 
     setSelfDestructTimer(parset, outputProcTimeout);
+  } else {
+    // Kill any existing alarms
+    alarm(0);
   }
 
   // Send id string to the MAC Log Processor as context for further LOGs.
diff --git a/RTCP/Cobalt/OutputProc/src/outputProc.cc b/RTCP/Cobalt/OutputProc/src/outputProc.cc
index 8c62538b8605e15a0347647c9257f4e55971c89a..71b3ab32fb6e5585826708501ff354c737c4b9fa 100644
--- a/RTCP/Cobalt/OutputProc/src/outputProc.cc
+++ b/RTCP/Cobalt/OutputProc/src/outputProc.cc
@@ -24,6 +24,7 @@
 #include <cstdio> // for setvbuf
 #include <unistd.h>
 #include <omp.h>
+#include <time.h>
 #include <string>
 #include <stdexcept>
 #include <boost/format.hpp>
@@ -119,6 +120,9 @@ int main(int argc, char *argv[])
 
   OMPThread::init();
 
+  // Prevent stalling in the PortBroker or the resulting connection from COBALT
+  alarm(3600);
+
   PortBroker::createInstance(storageBrokerPort(observationID));
 
   // retrieve control stream to receive the parset and report back