diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 93bad145d2fdc89e21bc2e4ce64310e9a7d1582b..3efbab56b6929d498b868f8d40ca8c22b4ad99e9 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -236,8 +236,11 @@ int main(int argc, char *argv[]) {
             u4_diff[i][0] /= refinement_factor;
           }
 
-        for (int state_fpi = 0;
-             state_fpi < parset.get<int>("solver.tnnmg.fixed_point_iterations");
+        auto const fixed_point_iterations =
+            parset.get<bool>("boundary.friction.state.evolve")
+                ? parset.get<size_t>("solver.tnnmg.fixed_point_iterations")
+                : 1;
+        for (size_t state_fpi = 0; state_fpi < fixed_point_iterations;
              ++state_fpi) {
           auto myGlobalNonlinearity =
               assemble_nonlinearity<VectorType, OperatorType>(