diff --git a/psrdada_cpp/effelsberg/edd/GatedSpectrometer.cuh b/psrdada_cpp/effelsberg/edd/GatedSpectrometer.cuh
index 3fe30bd70c13d073a0101cbe3665b89ea8cb6b15..177ac8ac9a670527be38bd9f32bd49334491f128 100644
--- a/psrdada_cpp/effelsberg/edd/GatedSpectrometer.cuh
+++ b/psrdada_cpp/effelsberg/edd/GatedSpectrometer.cuh
@@ -109,8 +109,7 @@ private:
 
   thrust::device_vector<UnpackedVoltageType> _unpacked_voltage_G0;
   thrust::device_vector<UnpackedVoltageType> _unpacked_voltage_G1;
-  thrust::device_vector<ChannelisedVoltageType> _channelised_voltage_G0;
-  thrust::device_vector<ChannelisedVoltageType> _channelised_voltage_G1;
+  thrust::device_vector<ChannelisedVoltageType> _channelised_voltage;
 
   DoublePinnedHostBuffer<IntegratedPowerType> _host_power_db;
 
diff --git a/psrdada_cpp/effelsberg/edd/detail/GatedSpectrometer.cu b/psrdada_cpp/effelsberg/edd/detail/GatedSpectrometer.cu
index 57a66215b364acccc06b8873780be2ec1733dac0..c9e478a9e69a79f29011adfa67505b1251427b31 100644
--- a/psrdada_cpp/effelsberg/edd/detail/GatedSpectrometer.cu
+++ b/psrdada_cpp/effelsberg/edd/detail/GatedSpectrometer.cu
@@ -102,10 +102,9 @@ GatedSpectrometer<HandlerType>::GatedSpectrometer(
   _unpacked_voltage_G1.resize(nsamps_per_buffer);
   BOOST_LOG_TRIVIAL(debug) << "  Unpacked voltages size (in samples): "
                            << _unpacked_voltage_G0.size();
-  _channelised_voltage_G0.resize(_nchans * batch);
-  _channelised_voltage_G1.resize(_nchans * batch);
+  _channelised_voltage.resize(_nchans * batch);
   BOOST_LOG_TRIVIAL(debug) << "  Channelised voltages size: "
-                           << _channelised_voltage_G0.size();
+                           << _channelised_voltage.size();
   _power_db_G0.resize(_nchans * batch / _naccumulate);
   _power_db_G1.resize(_nchans * batch / _naccumulate);
   BOOST_LOG_TRIVIAL(debug) << "  Powers size: " << _power_db_G0.size() << ", "
@@ -174,20 +173,18 @@ void GatedSpectrometer<HandlerType>::process(
   UnpackedVoltageType *_unpacked_voltage_ptr =
       thrust::raw_pointer_cast(_unpacked_voltage_G0.data());
   ChannelisedVoltageType *_channelised_voltage_ptr =
-      thrust::raw_pointer_cast(_channelised_voltage_G0.data());
+      thrust::raw_pointer_cast(_channelised_voltage.data());
   CUFFT_ERROR_CHECK(cufftExecR2C(_fft_plan, (cufftReal *)_unpacked_voltage_ptr,
                                  (cufftComplex *)_channelised_voltage_ptr));
+  _detector->detect(_channelised_voltage, detected_G0);
 
   BOOST_LOG_TRIVIAL(debug) << "Performing FFT 2";
   _unpacked_voltage_ptr = thrust::raw_pointer_cast(_unpacked_voltage_G1.data());
-  _channelised_voltage_ptr =
-      thrust::raw_pointer_cast(_channelised_voltage_G1.data());
   CUFFT_ERROR_CHECK(cufftExecR2C(_fft_plan, (cufftReal *)_unpacked_voltage_ptr,
                                  (cufftComplex *)_channelised_voltage_ptr));
 
 //  CUDA_ERROR_CHECK(cudaStreamSynchronize(_proc_stream));
-  _detector->detect(_channelised_voltage_G0, detected_G0);
-  _detector->detect(_channelised_voltage_G1, detected_G1);
+  _detector->detect(_channelised_voltage, detected_G1);
 } // process