diff --git a/saqc/core/flags.py b/saqc/core/flags.py
index 730ec1e987cc2815d338e37786ead8c33fe1948c..1ffcbfc0a0c2d1b85693badcaf3fdc8d91d2a4cd 100644
--- a/saqc/core/flags.py
+++ b/saqc/core/flags.py
@@ -309,7 +309,10 @@ class Flags:
             try:
                 tmp[mask] = value
             except Exception:
-                raise ValueError("bad mask")
+                raise ValueError(
+                    f"bad mask. cannot use mask of length {len(mask)} on "
+                    f"data of length {len(tmp)}"
+                )
             else:
                 value = tmp
 
diff --git a/saqc/funcs/outliers.py b/saqc/funcs/outliers.py
index cb3f71178539ad9f1d9059e479c992153067441e..6f0094ef5320991d800ceaab0a63eca7a3c100a2 100644
--- a/saqc/funcs/outliers.py
+++ b/saqc/funcs/outliers.py
@@ -1226,6 +1226,9 @@ def flagCrossStatistic(
         diff_scores = df.subtract(stat, axis=0).abs()
 
     mask = diff_scores > thresh
+    if mask.empty:
+        return data, flags
+
     for var in fields:
         flags[mask[var], var] = flag