diff --git a/dune/gfe/riemanniantrsolver.hh b/dune/gfe/riemanniantrsolver.hh
index 7033c8bade703945104a91718f425d24718f4243..b87c29c77e26f4c26c15030959fbd8f24d76b7c2 100644
--- a/dune/gfe/riemanniantrsolver.hh
+++ b/dune/gfe/riemanniantrsolver.hh
@@ -38,7 +38,11 @@ class RiemannianTrustRegionSolver
     typedef Dune::BlockVector<Dune::FieldVector<field_type, blocksize> >           CorrectionType;
     typedef std::vector<TargetSpace>                                               SolutionType;
 
+#ifdef SECOND_ORDER
+    typedef Dune::GlobalP2Mapper<typename GridType::LeafGridView> GUIndex;
+#else
     typedef GlobalUniqueIndex<typename GridType::LeafGridView, gridDim> GUIndex;
+#endif
 
 #ifdef THIRD_ORDER
     typedef P3NodalBasis<typename GridType::LeafGridView,double> BasisType;