diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 34fb4b553af067290be418d0ed1ca235f72d2c0d..7a7ece38c59b4c2b218bd01773b65d00cb8acb44 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -300,10 +300,6 @@ int main(int argc, char *argv[]) {
       u1 += u1_diff;
 
       if (parset.get<bool>("useTNNMG")) {
-        MyConvexProblemType myConvexProblem(stiffnessMatrix,
-                                            *myGlobalNonlinearity, b4, u4_diff);
-        auto myBlockProblem = new MyBlockProblemType(parset, myConvexProblem);
-
         // {{{ Linear Solver;
         TruncatedBlockGSStep<OperatorType, VectorType> *linearBaseSolverStep =
             new TruncatedBlockGSStep<OperatorType, VectorType>;
@@ -346,6 +342,9 @@ int main(int argc, char *argv[]) {
         typedef TruncatedNonsmoothNewtonMultigrid<
             MyBlockProblemType, NonlinearSmootherType> TNNMGStepType;
 
+        MyConvexProblemType myConvexProblem(stiffnessMatrix,
+                                            *myGlobalNonlinearity, b4, u4_diff);
+        auto myBlockProblem = new MyBlockProblemType(parset, myConvexProblem);
         auto nonlinearSmoother = new NonlinearSmootherType;
 
         auto multigridStep =