diff --git a/dune/tectonic/spatial-solving/makelinearsolver.hh b/dune/tectonic/spatial-solving/makelinearsolver.hh
index ada0083548dbc7f95c8b3f69092d72fd301f8ae6..3c5fc0297486ec06e3e149142e202a4313ae3383 100644
--- a/dune/tectonic/spatial-solving/makelinearsolver.hh
+++ b/dune/tectonic/spatial-solving/makelinearsolver.hh
@@ -57,8 +57,8 @@ auto makeLinearSolver(const Dune::ParameterTree& parset, const ContactNetwork& c
         auto linearSolver = std::make_shared<LinearSolver>(cgStep, parset_.template get<int>("solver.tnnmg.main.multi"), parset_.template get<double>("solver.tnnmg.preconditioner.basesolver.tolerance"), norm, Solver::QUIET);
         */
 
-        // set multigrid solver
-        auto smoother = TruncatedBlockGSStep<Matrix, Vector>();
+
+
 
         // transfer operators need to be recomputed on change due to setDeformation()
         using TransferOperator = NBodyContactTransfer<ContactNetwork, Vector>;
@@ -76,11 +76,9 @@ auto makeLinearSolver(const Dune::ParameterTree& parset, const ContactNetwork& c
 
         auto linearMultigridStep = std::make_shared<Dune::Solvers::MultigridStep<Matrix, Vector> >();
         linearMultigridStep->setMGType(1, 3, 3);
-        linearMultigridStep->setSmoother(smoother);
+        linearMultigridStep->setSmoother(TruncatedBlockGSStep<Matrix, Vector>());
         linearMultigridStep->setTransferOperators(transfer);
 
-        Norm norm(*linearMultigridStep);
-
-        return std::make_shared<LinearSolver>(linearMultigridStep, parset.template get<int>("solver.tnnmg.main.multi"), parset.template get<double>("solver.tnnmg.preconditioner.basesolver.tolerance"), norm, Solver::QUIET);
+        return std::make_shared<LinearSolver>(linearMultigridStep, parset.template get<int>("solver.tnnmg.main.multi"), parset.template get<double>("solver.tnnmg.preconditioner.basesolver.tolerance"), Norm(*linearMultigridStep), Solver::QUIET);
     }
 #endif