diff --git a/nbr/src/main/java/io/nosqlbench/scenarios/simframe/stabilization/StabilityDetector.java b/nbr/src/main/java/io/nosqlbench/scenarios/simframe/stabilization/StabilityDetector.java
index aab60d2e3..6cb5f4e58 100644
--- a/nbr/src/main/java/io/nosqlbench/scenarios/simframe/stabilization/StabilityDetector.java
+++ b/nbr/src/main/java/io/nosqlbench/scenarios/simframe/stabilization/StabilityDetector.java
@@ -118,6 +118,9 @@ public class StabilityDetector implements Runnable {
             // if previous bigger window had a higher stddev than the one after, then it is converging
             double reductionFactor = (stddev[i + 1] / stddev[i]);
             basis *= reductionFactor;
+            if (Double.isNaN(basis)) {
+                throw new RuntimeException("basis is NaN");
+            }
         }
 
         // TODO: investigate why we get NaN sometimes and what it means for stability checks