diff --git a/dune/fufem/dgpqkindexset.hh b/dune/fufem/dgpqkindexset.hh
index eba9c2ed09ca4cb84e9e8be7fc209d4fa4882590..1a12236061c9797dafb3eec8b90cf688c59b220f 100644
--- a/dune/fufem/dgpqkindexset.hh
+++ b/dune/fufem/dgpqkindexset.hh
@@ -10,19 +10,9 @@
 template <class GridView,int order>
 class DGPQKIndexSet {
 
-    //! Parameter for mapper class
-    template<int dim>
-    struct ElementMapperLayout
-    {
-        bool contains (Dune::GeometryType gt)
-        {
-            return gt.dim() == dim;
-        }
-    }; 
-
 public:
 
-    DGPQKIndexSet(const GridView gridview) : mapper_(gridview)
+    DGPQKIndexSet(const GridView gridview) : mapper_(gridview, Dune::mcmgElementLayout())
     {
         setup(gridview);
     }
@@ -85,7 +75,7 @@ public:
 
     std::vector<int> elementOffsets_;
 
-    Dune::MultipleCodimMultipleGeomTypeMapper<GridView,ElementMapperLayout> mapper_;
+    Dune::MultipleCodimMultipleGeomTypeMapper<GridView> mapper_;
     
     ~ DGPQKIndexSet(){}
     
diff --git a/dune/fufem/estimators/errorfractionmarking.hh b/dune/fufem/estimators/errorfractionmarking.hh
index 5d57aa1a96689459770c6120962dbbed5ead569d..739c8189a3990963d0b2b0f3fa515ce6a951eb27 100644
--- a/dune/fufem/estimators/errorfractionmarking.hh
+++ b/dune/fufem/estimators/errorfractionmarking.hh
@@ -34,11 +34,8 @@ class ErrorFractionMarkingStrategy
         enum {dim = GridType::dimension};
 
         //! Layout class for a all codim all geometry type mapper
-        template<int localDim>
-        struct AllCodimLayout
-        {
-            bool contains (Dune::GeometryType gt DUNE_UNUSED) const
-            {
+        struct AllCodimLayout {
+            bool operator() (Dune::GeometryType gt DUNE_UNUSED, int) const {
                 return true;
             }
         };
@@ -84,7 +81,7 @@ mark(const std::vector<RefinementIndicator<GridType>*>& refinementIndicators,
      const std::vector<GridType*>& grids,
      double fraction)
 {
-    typedef typename Dune::LeafMultipleCodimMultipleGeomTypeMapper<GridType,AllCodimLayout> AllCodimMapper;
+    typedef typename Dune::LeafMultipleCodimMultipleGeomTypeMapper<GridType> AllCodimMapper;
     typedef typename std::multimap<double, std::pair<int,int>, std::greater<double> > ErrorMap;
 
     if (grids.size() != refinementIndicators.size())
@@ -104,7 +101,7 @@ mark(const std::vector<RefinementIndicator<GridType>*>& refinementIndicators,
     for (size_t i=0; i<grids.size(); ++i)
     {
         // mapper that maps all entities to indices
-        AllCodimMapper mapper(*grids[i]);
+        AllCodimMapper mapper(*grids[i], AllCodimLayout());
 
         // initialize bitfield
         refineIndex[i].resize(mapper.size(), false);
@@ -154,7 +151,7 @@ mark(const std::vector<RefinementIndicator<GridType>*>& refinementIndicators,
 
     for (size_t i=0; i<grids.size(); ++i)
     {
-        AllCodimMapper mapper(*grids[i]);
+        AllCodimMapper mapper(*grids[i], AllCodimLayout());
 
         for (const auto& e : elements(grids[i]->leafGridView()))
         {
diff --git a/dune/fufem/functionspacebases/p2hierarchicalwithelementbubblesbasis.hh b/dune/fufem/functionspacebases/p2hierarchicalwithelementbubblesbasis.hh
index 4f0f7947b026c2f6180e4225147297196dedeeb0..0c9888efaf74b8af28ab67313b9b558e6b662ec3 100644
--- a/dune/fufem/functionspacebases/p2hierarchicalwithelementbubblesbasis.hh
+++ b/dune/fufem/functionspacebases/p2hierarchicalwithelementbubblesbasis.hh
@@ -31,16 +31,14 @@ class P2HierarchicalWithElementBubblesBasis :
 
     //! Parameter for mapper class
     //! In 2d we have vertex, edge, and element dofs
-    template<int localDim>
-    struct DofLayout
-    {
-        bool contains (Dune::GeometryType gt) {
+    struct DofLayout {
+        bool operator() (Dune::GeometryType gt, int dimension) const {
             assert(gt.dim() <= 2);
-            return gt.dim()==0 || gt.dim()==1 || gt.dim() == localDim;
+            return gt.dim()==0 || gt.dim()==1 || gt.dim() == dimension;
         }
     };
 
-    typedef Dune::MultipleCodimMultipleGeomTypeMapper<GV,DofLayout> MapperType;
+    typedef Dune::MultipleCodimMultipleGeomTypeMapper<GV> MapperType;
 
     public:
         typedef typename Base::GridView GridView;
@@ -50,7 +48,7 @@ class P2HierarchicalWithElementBubblesBasis :
 
         P2HierarchicalWithElementBubblesBasis(const GridView& gridview) :
             Base(gridview),
-            mapper_(gridview),
+            mapper_(gridview, DofLayout()),
             localFE_()
         {}
 
diff --git a/dune/fufem/functionspacebases/refinedp0basis.hh b/dune/fufem/functionspacebases/refinedp0basis.hh
index cc435332c06dae632409567adcec4c86556e1e43..1385bd1ccc56e29f2a9a7766fdb2902cdaf53a21 100644
--- a/dune/fufem/functionspacebases/refinedp0basis.hh
+++ b/dune/fufem/functionspacebases/refinedp0basis.hh
@@ -32,7 +32,7 @@ class RefinedP0Basis :
         using Base::dim;
         using Base::gridview_;
 
-        typedef typename Dune::MultipleCodimMultipleGeomTypeMapper<GV, Dune::MCMGElementLayout > P0BasisMapper;
+        typedef typename Dune::MultipleCodimMultipleGeomTypeMapper<GV> P0BasisMapper;
 
     public:
         typedef typename Base::GridView GridView;
@@ -42,7 +42,7 @@ class RefinedP0Basis :
 
         RefinedP0Basis(const GridView& gridview) :
             Base(gridview),
-            mapper_(gridview)
+            mapper_(gridview, Dune::mcmgElementLayout())
         {}
 
         void update(const GridView& gridview)