diff --git a/saqc/funcs/functions.py b/saqc/funcs/functions.py
index 17e0d53f5eabc3611b6c3f35036f469057fd0c3a..cb1b7ea430646c0642e95ea5f43d1e85949880ff 100644
--- a/saqc/funcs/functions.py
+++ b/saqc/funcs/functions.py
@@ -202,6 +202,8 @@ def flagSoilMoistureByPrecipitationEvents(data, flags, field, flagger, prec_refe
     # additionally drop the nan values that result from any preceeding upsampling of the
     # measurements:
     dataseries = dataseries.dropna()
+    if dataseries.empty:
+        return (data, flags)
     # estimate moisture sampling frequencie (the original series sampling rate may not match data-input sample rate):
     moist_rate = estimateSamplingRate(dataseries.index)
     # resample dataseries to its original sampling rate
@@ -217,6 +219,8 @@ def flagSoilMoistureByPrecipitationEvents(data, flags, field, flagger, prec_refe
               flagger.isFlagged(ref_flags, flag=flagger.flags.unflagged())
     refseries = refseries[ref_use.values]
     refseries = refseries.dropna()
+    if refseries.empty:
+        return (data,flags)
     prec_rate = estimateSamplingRate(refseries.index)
     refseries.resample(prec_rate).asfreq()
 
diff --git a/saqc/lib/tools.py b/saqc/lib/tools.py
index 1c8d919ed7b998b0c09203847c6b33ae78e078fd..063bfe7b6df3490d049707287f997d2431d1076e 100644
--- a/saqc/lib/tools.py
+++ b/saqc/lib/tools.py
@@ -109,6 +109,9 @@ def estimateSamplingRate(index):
     :param index: A DatetimeIndex or array like Datetime listing, of wich you want the sampling rate to be
                   estimated.
     """
+
+    if index.empty:
+        return pd.tseries.frequencies.to_offset('0s')
     scnds_series = (pd.Series(index).diff().dt.total_seconds()).dropna()
     max_scnds = scnds_series.max()
     min_scnds = scnds_series.min()