diff --git a/dune/elasticity/common/trustregionsolver.cc b/dune/elasticity/common/trustregionsolver.cc
index 2ba48011010a4cea99c62dc9e478c7972e62202e..279dcf1f7525ac82da50578291636399f9db52fb 100644
--- a/dune/elasticity/common/trustregionsolver.cc
+++ b/dune/elasticity/common/trustregionsolver.cc
@@ -62,7 +62,6 @@ setup(const typename BasisType::GridView::Grid& grid,
     baseTolerance_            = baseTolerance;
     damping_                  = damping;
 
-    int numLevels = grid_->maxLevel()+1;
     const auto dim = VectorType::value_type::dimension;
 
 #if HAVE_DUNE_PARMG
@@ -289,6 +288,8 @@ setup(const typename BasisType::GridView::Grid& grid,
       isP1Basis = std::is_same<Basis,Dune::Functions::LagrangeBasis<typename Basis::GridView, 1> >::value;
     }
 
+    int numLevels = grid_->maxLevel()+1;
+
     using TransferOperatorType = typename TruncatedCompressedMGTransfer<CorrectionType>::TransferOperatorType;
     std::vector<std::shared_ptr<TruncatedCompressedMGTransfer<CorrectionType>>> transferOperators(isP1Basis ? numLevels-1 : numLevels);