diff --git a/psrdada_cpp/effelsberg/edd/GatedSpectrometer.cuh b/psrdada_cpp/effelsberg/edd/GatedSpectrometer.cuh
index 922d21399a5405aa119a6a6c1c5f61dee87ebb62..5aa4dc2728bf3e8ca2b06a70fb98cbd73b4705ae 100644
--- a/psrdada_cpp/effelsberg/edd/GatedSpectrometer.cuh
+++ b/psrdada_cpp/effelsberg/edd/GatedSpectrometer.cuh
@@ -166,7 +166,7 @@ struct PowerSpectrumOutput
     DoubleDeviceBuffer<uint64_cu> _noOfBitSets;
 
     /// Number of samples overflowed
-    DoubleHostBuffer<uint64_cu> _noOfOverflowed;
+    DoubleHostBuffer<uint64_t> _noOfOverflowed;
 
 
     /// Swap output buffers and reset the buffer in given stream for new integration
diff --git a/psrdada_cpp/effelsberg/edd/src/GatedSpectrometer.cu b/psrdada_cpp/effelsberg/edd/src/GatedSpectrometer.cu
index 27f2e936c86b2a99691f8d488427244c57e941ca..7c959ebbfbef8d4f87bc86ad808628223759ccd0 100644
--- a/psrdada_cpp/effelsberg/edd/src/GatedSpectrometer.cu
+++ b/psrdada_cpp/effelsberg/edd/src/GatedSpectrometer.cu
@@ -469,6 +469,9 @@ void GatedFullStokesOutput::swap(cudaStream_t &_proc_stream)
 
 void GatedFullStokesOutput::data2Host(cudaStream_t &_d2h_stream)
 {
+
+BOOST_LOG_TRIVIAL(debug) << "Copying data2Host for " << G0._noOfBitSets.size() << " blocks.";
+
 for (size_t i = 0; i < G0._noOfBitSets.size(); i++)
 {
     size_t memslicesize = (_nchans * sizeof(IntegratedPowerType));
@@ -586,6 +589,7 @@ for (size_t i = 0; i < G0._noOfBitSets.size(); i++)
             cudaMemcpyDeviceToHost, _d2h_stream));
     std::memcpy(static_cast<void *>(_host_power.a_ptr() + memOffset + 8 * memslicesize + 15 * sizeof(size_t) ),
             static_cast<void *>(G1._noOfOverflowed.b_ptr() + i ), 1 * sizeof(size_t) );
+
   }
 }
 
diff --git a/psrdada_cpp/effelsberg/edd/test/src/GatedSpectrometerTest.cu b/psrdada_cpp/effelsberg/edd/test/src/GatedSpectrometerTest.cu
index 78df9f86278436b5093d40d4ae50224615108447..7eb259110f52b6bcccd2d753914e3d536b47a6d5 100644
--- a/psrdada_cpp/effelsberg/edd/test/src/GatedSpectrometerTest.cu
+++ b/psrdada_cpp/effelsberg/edd/test/src/GatedSpectrometerTest.cu
@@ -382,13 +382,13 @@ class GatedTestSinkFullStokes{
             // Expected half number of samples per gate
             for(int i =0; i <4; i++)
             {
-                uint64_t *S = reinterpret_cast<uint64_t*>(buf.ptr() + 8 *nchans * 32 /8 + i * 2 *sizeof(size_t));
-                EXPECT_EQ(S[0], nHeaps * 4096) << "S" << i; // expect samples from two polarizations
-                EXPECT_EQ(S[2], nHeaps * 4096) << "S" << i;
+                uint64_t *S = reinterpret_cast<uint64_t*>(buf.ptr() + 8 *nchans * 32 /8 + i * 4 *sizeof(size_t));
+                EXPECT_EQ(S[0], nHeaps * 4096) << "G0, S" << i; // expect samples from two polarizations
+                EXPECT_EQ(S[2], nHeaps * 4096) << "G1, S" << i;
 
                 // Correct number of overflowed samples
-                EXPECT_EQ(S[1], 27 + 7) << "S" << i;;
-                EXPECT_EQ(S[3], 23 + 3) << "S" << i;;  // First heap has 23 and bit set, thus G1
+                EXPECT_EQ(S[1], 27 + 7) << "G0, S" << i;;
+                EXPECT_EQ(S[3], 23 + 3) << "G1, S" << i;;  // First heap has 23+3 and bit set, thus G1
             }
 
             call_count ++;
@@ -435,10 +435,10 @@ TEST(GatedSpectrometer, processingFullStokes)
     uint64_t* sc_items = reinterpret_cast<uint64_t*>(raw_buffer + 2*nHeaps * 4096);
     for (int i = 0; i < 2 * nHeaps; i+=4)
     {
-        sc_items[i] = 0L;
-        sc_items[i+1] = 0L;
-        sc_items[i+2] = 0L;
-        sc_items[i+3] = 0L;
+        sc_items[i] = 0uL;
+        sc_items[i+1] = 0uL;
+        sc_items[i+2] = 0uL;
+        sc_items[i+3] = 0uL;
         SET_BIT(sc_items[i], 0);
         SET_BIT(sc_items[i + 1], 0);
     }