diff --git a/dune/solvers/iterationsteps/obstacletnnmgstep.hh b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
index 2b36ca516013d94bece7cc570706e2fab3f67154..dec535cab1aae5854b4c2a187675f466d2eb0164 100644
--- a/dune/solvers/iterationsteps/obstacletnnmgstep.hh
+++ b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
@@ -376,6 +376,7 @@ class ObstacleTNNMGStep
             transfer_[maxLevel-1]->restrict(rhs_, coarseRhs[maxLevel-1]);
             transfer_[maxLevel-1]->restrictToFathers(*ignoreNodes_, coarseIgnore[maxLevel-1]);
             obstacleRestrictor.restrict(obstacles_, coarseObstacle[maxLevel-1], hasObstacle_, hasObstacle_, *(transfer_[maxLevel-1]), critical);
+            coarseSolution[maxLevel-1].resize(coarseMatrix[maxLevel-1].N());
             for (int i = maxLevel-2; i>=0; --i)
             {
                 transfer_[i]->galerkinRestrictSetOccupation(coarseMatrix[i+1], coarseMatrix[i]);