diff --git a/src/toolbox_scs/routines/boz.py b/src/toolbox_scs/routines/boz.py
index 5c66f729fb1126550ee6b4c677de4beeb548cd22..e04032599dadc3b38ad91d5ce42030340725f911 100644
--- a/src/toolbox_scs/routines/boz.py
+++ b/src/toolbox_scs/routines/boz.py
@@ -1162,6 +1162,10 @@ def ff_refine_crit(p, alpha, params, arr_dark, arr, tid, rois,
     """
     params.set_flat_field(p)
     ff = compute_flat_field_correction(rois, params)
+    if np.any(ff < 0.0):
+        bad = 1e6
+    else:
+        bad = 0.0
 
     data = process(None, arr_dark, arr, tid, rois, mask, ff,
         sat_level, params._using_gpu)
@@ -1179,7 +1183,7 @@ def ff_refine_crit(p, alpha, params, arr_dark, arr, tid, rois,
                 (1.0 - np.nanmean(rp['muA']))**2 +
                 (1.0 - np.nanmean(rd['muA']))**2)
 
-    return 1e3*(alpha*err_sigma + (1-alpha)*err_mean)
+    return bad + 1e3*(alpha*err_sigma + (1-alpha)*err_mean)
 
 
 def ff_refine_fit(params):