diff --git a/saqc/funcs/flagtools.py b/saqc/funcs/flagtools.py
index 57f69e71fd9abe784b70116fbf1b2e758d0541c7..19862377fd47e4e8e11ebd534450bd3b39413717 100644
--- a/saqc/funcs/flagtools.py
+++ b/saqc/funcs/flagtools.py
@@ -114,7 +114,7 @@ class FlagtoolsMixin:
     def setFlags(
         self,
         field: str,
-        data: str | list | np.array | pd.Series,
+        data: str | list | np.ndarray | pd.Series,
         override: bool = False,
         flag: float = BAD,
         **kwargs,
@@ -162,9 +162,11 @@ class FlagtoolsMixin:
 
         # elif isinstance(f_data, list):
         if not override:
-            to_flag &= (self._flags[field] < flag) & (
-                self._flags[field] >= kwargs["dfilter"]
-            )
+
+            to_flag &= isunflagged(self._flags[field], thresh=kwargs["dfilter"])
+            # to_flag &= (self._flags[field] < flag) & (
+            #     self._flags[field] >= kwargs["dfilter"]
+            # )
         self._flags[to_flag.values, field] = flag
         return self