diff --git a/src/calng/correction_addons/autocorrelation.py b/src/calng/correction_addons/autocorrelation.py
index e22c64e327c9cb0b93deaadbf5e57295aa641cd7..8b013778d809ff9648fa84d79cd06fa2beb612dc 100644
--- a/src/calng/correction_addons/autocorrelation.py
+++ b/src/calng/correction_addons/autocorrelation.py
@@ -44,14 +44,21 @@ class Autocorrelation(BaseCorrectionAddon):
     def post_correction(self, processed_data, cell_table, pulse_table, output_hash):
         """Called directly after correction has happened. Processed data will still be
         on GPU if the correction device is generally running in GPU mode."""
-        from cupyx.scipy.signal import fftconvolve
+        #from cupyx.scipy.signal import fftconvolve
 
         data = processed_data.copy()
         data[np.isnan(data)] = 0.0
 
-        autocorr_sum = fftconvolve(
-            data, data[:, ::-1, ::-1], 'same', axes=(-2, -1)
-        ).sum(axis=0)
+        # autocorr_sum = fftconvolve(
+        #     data, data[:, ::-1, ::-1], 'same', axes=(-2, -1)
+        # ).sum(axis=0)
+
+        nf, nx, ny = data.shape
+        g = np.fft.rfft2(data, s=(2 * nx, 2 * ny))
+        autocorr_sum = np.fft.irfft2(
+            ((g * g.conj()).real).sum(axis=0),
+            s=(nx, ny)
+        ).real
 
         frames_sum = data.sum(axis=0)