diff --git a/geomagio/residual/Measurement.py b/geomagio/residual/Measurement.py
index e052f53bcc6b31eb48f5b8c04f3c336128f364b6..f8be194375c5a57327770eb1a1d39ff2ec7cad1e 100644
--- a/geomagio/residual/Measurement.py
+++ b/geomagio/residual/Measurement.py
@@ -52,6 +52,9 @@ def average_measurement(
     """
     if types:
         measurements = [m for m in measurements if m.measurement_type in types]
+    if len(measurements) == 0:
+        # no measurements to average
+        return None
     starttime = safe_min([m.time.timestamp for m in measurements if m.time])
     endtime = safe_max([m.time.timestamp for m in measurements if m.time])
     measurement = AverageMeasurement(