diff --git a/saqc/funcs/resampling.py b/saqc/funcs/resampling.py
index f35d4b17c11554b1bc30fcf4f9b9ed07dcf014c5..482fdb02b5a77f08a9ee7e3d56b6a64f180214cf 100644
--- a/saqc/funcs/resampling.py
+++ b/saqc/funcs/resampling.py
@@ -635,9 +635,9 @@ def _inverseAggregation(source_col, freq=None, method=None, target_flagscol=None
 
 
 
-def _inverseShift(target_flagscol, source_col=None, freq=None, method=None, drop_mask=None):
+def _inverseShift(source_col, freq=None, method=None, drop_mask=None, target_flagscol=None):
     target_flagscol_drops = target_flagscol[drop_mask]
-    target_flagscol.drop(drop_mask[drop_mask].index, inplace=True)
+    target_flagscol = target_flagscol.drop(drop_mask[drop_mask].index)
     flags_merged = pd.merge_asof(
         source_col,
         pd.Series(target_flagscol.index.values, index=target_flagscol.index, name="pre_index"),
@@ -647,17 +647,13 @@ def _inverseShift(target_flagscol, source_col=None, freq=None, method=None, drop
         direction=method,
     )
     flags_merged.dropna(subset=["pre_index"], inplace=True)
-    flags_merged = flags_merged.set_index(["pre_index"]).squeeze()
-
-    # write flags to target
-    replacement_mask = flags_merged > target_flagscol.loc[flags_merged.index]
-    target_flagscol.loc[replacement_mask[replacement_mask].index] = flags_merged.loc[replacement_mask]
+    target_flagscol = flags_merged.set_index(["pre_index"]).squeeze()
 
     # reinsert drops
-    target_flagscol = target_flagscol.reindex(target_flagscol.index.join(target_flagscol_drops.index, how="outer"))
-    target_flagscol.loc[target_flagscol_drops.index] = target_flagscol_drops.values
+    source_col = target_flagscol.reindex(target_flagscol.index.join(target_flagscol_drops.index, how="outer"))
+    source_col.loc[target_flagscol_drops.index] = target_flagscol_drops.values
 
-    return target_flagscol
+    return source_col
 
 
 @register(masking='none', module="resampling")