diff --git a/geomagio/algorithm/FilterAlgorithm.py b/geomagio/algorithm/FilterAlgorithm.py
index 5131e5571ff5033bd7ed32382bcde28fd3da5546..5814c22e8dc844a74cec09519f916ef9242dd355 100644
--- a/geomagio/algorithm/FilterAlgorithm.py
+++ b/geomagio/algorithm/FilterAlgorithm.py
@@ -191,6 +191,10 @@ class FilterAlgorithm(Algorithm):
             filtered = self.firfilter(trace.data, window, decimation)
             stats = Stats(trace.stats)
             stats.starttime = stats.starttime + input_sample_period * (numtaps // 2)
+            if stats.starttime.timestamp % output_sample_period != 0:
+                raise ValueError(
+                    "Invalid starttime. Filter is not centered in timeseries."
+                )
             stats.delta = output_sample_period
             stats.npts = len(filtered)
             trace_out = self.create_trace(stats.channel, stats, filtered)