diff --git a/Sim/Scan/QzScan.cpp b/Sim/Scan/QzScan.cpp
index 1349842b804674915ee6c2d6244c200b12d9e89c..cf9b2b17efc4b8f1e1d3c737255ae3bdc472f463 100644
--- a/Sim/Scan/QzScan.cpp
+++ b/Sim/Scan/QzScan.cpp
@@ -15,6 +15,7 @@
 #include "Sim/Scan/QzScan.h"
 #include "Base/Axis/FixedBinAxis.h"
 #include "Base/Axis/PointwiseAxis.h"
+#include "Base/Util/Assert.h"
 #include "Device/Coord/CoordSystem1D.h"
 #include "Device/Pol/PolFilter.h"
 #include "Param/Distrib/ParameterSample.h"
@@ -89,9 +90,8 @@ std::vector<SpecularElement> QzScan::generateElements() const
 
 std::vector<double> QzScan::footprint(size_t i, size_t n_elements) const
 {
-    if (i + n_elements > nSteps())
-        throw std::runtime_error("Error in QzScan::footprint: given index exceeds the "
-                                 "number of simulation elements");
+    ASSERT(i + n_elements <= nSteps());
+    // There is no way to set a footprint correction for q scans.
     return std::vector<double>(n_elements, 1.0);
 }