diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index e024ada19314633da713d86d9ae9e1a44c8d4607..38ec83a9d9c82bb9b09cfe8f8518bcfdc9fddcc1 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -271,7 +271,8 @@ int main(int argc, char *argv[]) {
     TruncatedBlockGSStep<OperatorType, VectorType> linearBaseSolverStep;
     EnergyNorm<OperatorType, VectorType> baseEnergyNorm(linearBaseSolverStep);
     LoopSolver<VectorType> linearBaseSolver(
-        &linearBaseSolverStep, solver_maxIterations, solver_tolerance,
+        &linearBaseSolverStep,
+        parset.get<int>("solver.tnnmg.linear.maxiterations"), solver_tolerance,
         &baseEnergyNorm, Solver::QUIET);
     TruncatedBlockGSStep<OperatorType, VectorType> linearPresmoother;
     TruncatedBlockGSStep<OperatorType, VectorType> linearPostsmoother;
diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset
index 9fe21cc93907807209bc8e24cd612fd82682afcb..fb9580ddf5c8a8b3b6e34390349bd74d0cfeb86f 100644
--- a/src/one-body-sample.parset
+++ b/src/one-body-sample.parset
@@ -26,6 +26,7 @@ maxiterations = 1000000
 tolerance = 1e-12
 
 [solver.tnnmg.linear]
+maxiterations = 1000000
 nu1 = 1
 mu = 1
 nu2 = 0 # FIXME: using linear postsmoothing appears to be a really bad idea