diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 84385596e8affda612c9a0ac7295244875d0d446..411ec706ecf2c510311a965ee7a49465828a3dfc 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -351,14 +351,13 @@ int main(int argc, char *argv[]) {
       if (parset.get<bool>("useTNNMG")) {
         MyConvexProblemType myConvexProblem(stiffnessMatrix,
                                             *myGlobalNonlinearity, b4, u4_diff);
-        auto myBlockProblem = new MyBlockProblemType(parset, myConvexProblem);
-        multigridStep->setProblem(u4_diff, *myBlockProblem);
+        MyBlockProblemType myBlockProblem(parset, myConvexProblem);
+        multigridStep->setProblem(u4_diff, myBlockProblem);
 
         LoopSolver<VectorType> overallSolver(
             multigridStep, solver_maxIterations, solver_tolerance, &energyNorm,
             verbosity);
         overallSolver.solve();
-        delete myBlockProblem;
       }
 
       u4 += u4_diff;