diff --git a/RTCP/Cobalt/GPUProc/src/Station/StationInput.cc b/RTCP/Cobalt/GPUProc/src/Station/StationInput.cc
index d53e1a40b2966e96049b61fea10172cda6c410d1..bd0c7824dbf73c4056dbdb15eaf33e04c3ff3d02 100644
--- a/RTCP/Cobalt/GPUProc/src/Station/StationInput.cc
+++ b/RTCP/Cobalt/GPUProc/src/Station/StationInput.cc
@@ -743,7 +743,7 @@ namespace LOFAR {
       Queue< SmartPtr< MPIData<SampleT> > > mpiQueue(str(format(
             "sendInputToPipeline::mpiQueue [station %s]") % stationID.name()));
 
-      MPISender sender(logPrefix, stationIdx, subbandDistribution);
+      MPISender sender(logPrefix, stationIdx, subbandDistribution, ps.settings.blockDuration());
 
       /*
        * Stream the data.
diff --git a/RTCP/Cobalt/GPUProc/src/Station/StationTranspose.cc b/RTCP/Cobalt/GPUProc/src/Station/StationTranspose.cc
index c493e80173ebaf17f13275cbf62b3b505215d289..e055c88443dab1ab2c14a4c7e807730904e211af 100644
--- a/RTCP/Cobalt/GPUProc/src/Station/StationTranspose.cc
+++ b/RTCP/Cobalt/GPUProc/src/Station/StationTranspose.cc
@@ -46,6 +46,7 @@
 #include <Common/LofarLogger.h>
 #include <Common/Timer.h>
 #include <CoInterface/OMPThread.h>
+#include <CoInterface/BudgetTimer.h>
 #include <InputProc/SampleType.h>
 
 using namespace LOFAR;
@@ -197,14 +198,15 @@ namespace LOFAR {
     template struct MPIData< SampleType<i4complex> >;
 
     MPISender::MPISender( const std::string &logPrefix, size_t stationIdx,
-                          const SubbandDistribution &subbandDistribution )
+                          const SubbandDistribution &subbandDistribution, float blockDuration )
     :
       logPrefix(logPrefix),
       stationIdx(stationIdx),
       subbandDistribution(subbandDistribution),
       targetRanks(keys(subbandDistribution)),
       subbandOffsets(targetRanks.size(), 0),
-      nrSubbands(values(subbandDistribution).size())
+      nrSubbands(values(subbandDistribution).size()),
+      blockDuration(blockDuration)
     {
       // Determine the offset of the set of subbands for each rank within
       // the members in MPIData<SampleT>.
@@ -251,6 +253,10 @@ namespace LOFAR {
       SmartPtr< MPIData<SampleT> > mpiData;
 
       NSTimer mpiSendTimer(str(format("%s MPI send data") % logPrefix), true, true);
+      BudgetTimer copyTimer(
+        str(format("%s MPI send data") % logPrefix),
+        blockDuration,
+        true, true);
 
       size_t nrProcessedSamples = 0;
       size_t nrFlaggedSamples = 0;
diff --git a/RTCP/Cobalt/GPUProc/src/Station/StationTranspose.h b/RTCP/Cobalt/GPUProc/src/Station/StationTranspose.h
index 36156bbe57c9a66fd2a318d1842d362f2feae819..413f91ad6d8e114ab4a0cbfa6883428e8cddb67c 100644
--- a/RTCP/Cobalt/GPUProc/src/Station/StationTranspose.h
+++ b/RTCP/Cobalt/GPUProc/src/Station/StationTranspose.h
@@ -129,7 +129,8 @@ namespace LOFAR {
     class MPISender {
     public:
       MPISender( const std::string &logPrefix, size_t stationIdx,
-                 const SubbandDistribution &subbandDistribution );
+                 const SubbandDistribution &subbandDistribution,
+                 float blockDuration );
 
       /*
        * Sends blocks over MPI until a NULL is read from the inputQueue.
@@ -153,6 +154,7 @@ namespace LOFAR {
       const std::vector<int> targetRanks;
       std::vector<size_t> subbandOffsets;
       const size_t nrSubbands;
+      const float blockDuration;
 
 
       /*