diff --git a/funcs/functions.py b/funcs/functions.py
index 4972c23fae9118280acaf6c558508e03dc92dfe9..9a23cf36b2ded4c3b2c95bc57b6ddce2106c8822 100644
--- a/funcs/functions.py
+++ b/funcs/functions.py
@@ -126,17 +126,15 @@ def flagSoilMoistureBySoilFrost(data, flags, field, flagger, soil_temp_reference
     :param frost_level:                 Value level, the flagger shall check against, when evaluating soil frost level.
     """
 
-    # retrieve data series input:
-    dataseries = data[field]
 
-    # if reference series is part of input data frame, evaluate input data flags:
-    # flag_mask = flagger.isFlagged(flags)[soil_temp_reference]
     # retrieve reference series
     refseries = data[soil_temp_reference]
+    ref_flags = flags[soil_temp_reference]
+    ref_unflagged = flagger.isFlagged(ref_flags, flag=flagger.flags.unflagged())
+    ref_min_flagged = flagger.isFlagged(ref_flags, flag=flagger.flags.min())
+    ref_use = ref_min_flagged | ref_unflagged
     # drop flagged values:
-    # refseries = refseries.loc[~np.array(flag_mask)]
-    # make refseries index a datetime thingy
-    refseries.index = pd.to_datetime(refseries.index)
+    refseries = refseries[ref_use.values]
     # drop nan values from reference series, since those are values you dont want to refer to.
     refseries = refseries.dropna()
 
@@ -155,7 +153,7 @@ def flagSoilMoistureBySoilFrost(data, flags, field, flagger, soil_temp_reference
         return ref_series[ref_pos] <= check_level
 
     # make temporal frame holding dateindex, since df.apply cant access index
-    temp_frame = pd.Series(dataseries.index)
+    temp_frame = pd.Series(data.index)
     # get flagging mask ("False" denotes "bad"="test succesfull")
     mask = temp_frame.apply(check_nearest_for_frost, args=(refseries,
                                                            tolerated_deviation, frost_level))