diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 724606f7387ba6d08ce59fbcd9740e330536c264..6571bb0048df56ecb77941daa9aefb39903b6e3a 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -423,6 +423,12 @@ int main(int argc, char *argv[]) {
     SingletonVectorType alpha = alpha_initial;
     auto const state_fpi_max =
         parset.get<size_t>("solver.tnnmg.fixed_point_iterations");
+    auto const fixedPointTolerance =
+        parset.get<double>("solver.tnnmg.fixed_point_tolerance");
+    auto const damping = parset.get<double>("solver.damping");
+    auto const minimalCorrectionReduction =
+        parset.get<double>("solver.minimal_correction_reduction");
+    auto const printProgress = parset.get<bool>("printProgress");
     for (size_t run = 1; run <= timesteps; ++run) {
       VectorType u;
       double lastCorrection;
@@ -469,12 +475,6 @@ int main(int argc, char *argv[]) {
       // Since the velocity explodes in the quasistatic case, use the
       // displacement as a convergence criterion
       VectorType u_saved;
-      double const fixedPointTolerance =
-          parset.get<double>("solver.tnnmg.fixed_point_tolerance");
-      double const damping = parset.get<double>("solver.damping");
-      double const minimalCorrectionReduction =
-          parset.get<double>("solver.minimal_correction_reduction");
-
       for (size_t state_fpi = 1; state_fpi <= state_fpi_max; ++state_fpi) {
         stateUpdater->solve(v);
         {
@@ -499,17 +499,17 @@ int main(int argc, char *argv[]) {
         timeSteppingScheme->extractVelocity(v);
 
         iterationWriter << iterationCounter << " ";
-        if (parset.get<bool>("printProgress")) {
+        if (printProgress) {
           std::cerr << '.';
           std::cerr.flush();
         }
         if (state_fpi > 1) {
           double const correctionNorm = velocityEnergyNorm.diff(u_saved, u);
           if (correctionNorm < fixedPointTolerance) {
-            if (parset.get<bool>("printProgress")) {
-              std::cerr << '#';
-              std::cerr.flush();
-            }
+            if (printProgress)) {
+                std::cerr << '#';
+                std::cerr.flush();
+              }
             break;
           }
         }
@@ -518,7 +518,7 @@ int main(int argc, char *argv[]) {
 
         u_saved = u;
       }
-      if (parset.get<bool>("printProgress"))
+      if (printProgress)
         std::cerr << std::endl;
 
       for (size_t i = 0; i < frictionalNodes.size(); ++i)