diff --git a/dune/elasticity/common/trustregionsolver.cc b/dune/elasticity/common/trustregionsolver.cc
index 6606cdf49985b9e9575b6afaac40a7f9bd1740af..5d16bf1c87a5692b6cd649fea7ef27c251f13850 100644
--- a/dune/elasticity/common/trustregionsolver.cc
+++ b/dune/elasticity/common/trustregionsolver.cc
@@ -248,11 +248,11 @@ void TrustRegionSolver<BasisType,VectorType>::solve()
     BasisType basis(grid_->levelGridView(grid_->maxLevel()));
     BasisType coarseBasis(grid_->levelGridView(0));
     std::vector<BoxConstraint<typename VectorType::field_type, blocksize>> coarseTrustRegionObstacles(coarseBasis.size());
-    MaxNormTrustRegion<blocksize> trustRegion(basis.size(), initialTrustRegionRadius_);
     int numLevels = grid_->maxLevel()+1;
 
     auto& levelOp = mgSetup_->levelOps_;
 #endif
+    MaxNormTrustRegion<blocksize> trustRegion(basis.size(), initialTrustRegionRadius_);
 
     std::vector<BoxConstraint<field_type,blocksize> > trustRegionObstacles;
 
diff --git a/dune/elasticity/common/trustregionsolver.hh b/dune/elasticity/common/trustregionsolver.hh
index 701e5b92572e04f351cd05a90265256411862b16..1b8716552121fc1e3fae105561acb6bfba8c7c5b 100644
--- a/dune/elasticity/common/trustregionsolver.hh
+++ b/dune/elasticity/common/trustregionsolver.hh
@@ -21,6 +21,7 @@
 
 #include <dune/elasticity/assemblers/feassembler.hh>
 
+#if HAVE_DUNE_PARMG
 #include <dune/parmg/iterationstep/lambdastep.hh>
 #include <dune/parmg/iterationstep/multigrid.hh>
 #include <dune/parmg/parallel/dofmap.hh>
@@ -31,7 +32,7 @@
 #include <dune/parmg/parallel/parallelenergyfunctional.hh>
 #include <dune/parmg/parallel/parallelenergynorm.hh>
 #include <dune/parmg/parallel/restrictmatrix.hh>
-
+#endif
 
 
 /** \brief Trust-region solver  */