diff --git a/mlair/helpers/filter.py b/mlair/helpers/filter.py
index ced279cc7f568ba0ea2283e03b447efc57bf0e83..ff3bb6a51164dc4f2baebb9fdec40d6902e084d1 100644
--- a/mlair/helpers/filter.py
+++ b/mlair/helpers/filter.py
@@ -101,6 +101,7 @@ class ClimateFIRFilter:
                                           var_dim=var_dim, plot_index=i, padlen_factor=padlen_factor)
             filtered.append(fi)
             h.append(hi)
+            gc.collect()
 
             # calculate residuum
             input_data = input_data - fi
@@ -396,13 +397,13 @@ class ClimateFIRFilter:
             #     filt = xr.apply_ufunc(fir_filter_vectorized, filter_input_data, time_axis,
             #                           input_core_dims=[[new_dim], []], output_core_dims=[[new_dim]], vectorize=True,
             #                           kwargs=kwargs)
-            with TimeTracking(name="convolve"):
-                slicer = slice(int(-(length - 1) / 2), int((length - 1) / 2))
-                filt = xr.apply_ufunc(fir_filter_convolve_vectorized, filter_input_data.sel({new_dim: slicer}),
-                                      input_core_dims=[[new_dim]],
-                                      output_core_dims=[[new_dim]],
-                                      vectorize=True,
-                                      kwargs={"h": h})
+            # with TimeTracking(name="convolve"):
+            slicer = slice(int(-(length - 1) / 2), int((length - 1) / 2))
+            filt = xr.apply_ufunc(fir_filter_convolve_vectorized, filter_input_data.sel({new_dim: slicer}),
+                                  input_core_dims=[[new_dim]],
+                                  output_core_dims=[[new_dim]],
+                                  vectorize=True,
+                                  kwargs={"h": h})
 
             # plot
             if self.plot_path is not None: