diff --git a/pySDC/helpers/spectral_helper.py b/pySDC/helpers/spectral_helper.py
index 0fc885a3574b4ec23822f3d25563f57d145cb492..7381b33e6e0e9c47aa934d0b6b5f2e8810c51a0b 100644
--- a/pySDC/helpers/spectral_helper.py
+++ b/pySDC/helpers/spectral_helper.py
@@ -1471,7 +1471,10 @@ class SpectralHelper:
             if padding is not None:
                 shape = list(v.shape)
                 if self.comm:
-                    shape[0] = self.comm.allreduce(v.shape[0])
+                    send_buf = np.array(v.shape[0])
+                    recv_buf = np.array(v.shape[0])
+                    self.comm.Allreduce(send_buf, recv_buf)
+                    shape[0] = int(recv_buf)
                 fft = self.get_fft(axes, 'forward', shape=shape)
             else:
                 fft = self.get_fft(axes, 'forward', **kwargs)
@@ -1643,7 +1646,10 @@ class SpectralHelper:
                 if padding[axis] != 1:
                     shape = list(v.shape)
                     if self.comm:
-                        shape[0] = self.comm.allreduce(v.shape[0])
+                        send_buf = np.array(v.shape[0])
+                        recv_buf = np.array(v.shape[0])
+                        self.comm.Allreduce(send_buf, recv_buf)
+                        shape[0] = int(recv_buf)
                     ifft = self.get_fft(axes, 'backward', shape=shape)
                 else:
                     ifft = self.get_fft(axes, 'backward', padding=padding, **kwargs)