diff --git a/dune/solvers/iterationsteps/obstacletnnmgstep.hh b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
index ebe8eac2c8cb061cb34ae10e2f61ed2ad52755c5..04d232e5615c50470733559daa0a7da9cbdcf03d 100644
--- a/dune/solvers/iterationsteps/obstacletnnmgstep.hh
+++ b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
@@ -13,7 +13,7 @@
 
 // dune-solver includes
 #include <dune/solvers/iterationsteps/iterationstep.hh>
-#include <dune/solvers/iterationsteps/truncatedblockgsstep.hh>
+#include <dune/solvers/iterationsteps/blockgssteps.hh>
 #include <dune/solvers/iterationsteps/projectedblockgsstep.hh>
 #include <dune/solvers/iterationsteps/multigridstep.hh>
 
@@ -72,7 +72,10 @@ class ObstacleTNNMGStep
     protected:
 
         typedef ProjectedBlockGSStep<Matrix, Vector> NonlinearSmoother;
-        typedef TruncatedBlockGSStep<Matrix, Vector> LinearSmoother;
+        typedef Dune::Solvers::BlockGSStep<
+            Matrix, Vector, Dune::Solvers::DefaultBitVector_t<Vector>,
+            decltype(Dune::Solvers::BlockGS::LocalSolvers::gs())>
+            LinearSmoother;
         typedef MultigridStep<Matrix, Vector, BitVector> LinearMultigridStep;
         typedef EnergyNorm<Matrix, Vector> LinearBaseSolverEnergyNorm;
         typedef ::LoopSolver<Vector> LinearBaseSolver;
@@ -107,6 +110,8 @@ class ObstacleTNNMGStep
             transfer_(transfer),
             nonlinearSmoother_(mat_, *x_, rhs_),
             truncationTol_(truncationTol),
+            linearSmoother_(Dune::Solvers::BlockGS::LocalSolvers::gs()),
+            baseSolverStep_(Dune::Solvers::BlockGS::LocalSolvers::gs()),
             baseSolverNorm_(baseSolverStep_),
             baseSolver_(&baseSolverStep_, 100, 1e-8, &baseSolverNorm_, LinearBaseSolver::QUIET),
             preSmoothingSteps_(3),