diff --git a/dune/fufem/functionspacebases/p3nodalbasis.hh b/dune/fufem/functionspacebases/p3nodalbasis.hh
index c8bd900519121ee7c9d0b1565b0912bb7d19af8f..dada8e31be317bb747bb451e45e7df855ecc6fe6 100644
--- a/dune/fufem/functionspacebases/p3nodalbasis.hh
+++ b/dune/fufem/functionspacebases/p3nodalbasis.hh
@@ -82,21 +82,19 @@ class P3NodalBasis :
                     // One for each vertex, and two for each element
                     return gridview_.size(1) + 2*gridview_.size(0);
                 case 2: {
-                    Dune::GeometryType triangle, quad;
-                    triangle.makeTriangle();
-                    quad.makeQuadrilateral();
+                    Dune::GeometryType triangle = Dune::GeometryTypes::triangle;
+                    Dune::GeometryType quad = Dune::GeometryTypes::quadrilateral;
                     // One for each vertex, two for each edge,
                     // one for each triangle element, four for each quad element
                     return gridview_.size(dim) + 2*gridview_.size(1)
                          + gridview_.size(triangle) + 4*gridview_.size(quad);
                 }
                 case 3: {
-                    Dune::GeometryType triangle, quad, pyramid, prism, hexahedron;
-                    triangle.makeTriangle();
-                    quad.makeQuadrilateral();
-                    pyramid.makePyramid();
-                    prism.makePrism();
-                    hexahedron.makeCube(3);
+                    Dune::GeometryType triangle = Dune::GeometryTypes::triangle;
+                    Dune::GeometryType quad = Dune::GeometryTypes::quadrilateral;
+                    Dune::GeometryType pyramid = Dune::GeometryTypes::pyramid;
+                    Dune::GeometryType prism = Dune::GeometryTypes::prism;
+                    Dune::GeometryType hexahedron = Dune::GeometryTypes::cube(3);
                     // One for each vertex, two for each edge,
                     // one for each triangle element, four for each quad element
                     return gridview_.size(dim) + 2*gridview_.size(2)
@@ -185,26 +183,13 @@ class P3NodalBasis :
             edgeOffset_          = vertexOffset_        + gridview_.size(dim);
             triangleOffset_      = edgeOffset_          + 2*gridview_.size(dim-1);
 
-            Dune::GeometryType triangle;
-            triangle.makeTriangle();
-            quadrilateralOffset_ = triangleOffset_      + 1*gridview_.size(triangle);
+            quadrilateralOffset_ = triangleOffset_  + 1*gridview_.size(Dune::GeometryTypes::triangle);
 
-            Dune::GeometryType quadrilateral;
-            quadrilateral.makeQuadrilateral();
             if (dim==3) {
-                tetrahedronOffset_   = quadrilateralOffset_ + 4*gridview_.size(quadrilateral);
-
-                Dune::GeometryType tetrahedron;
-                tetrahedron.makeSimplex(3);
-                pyramidOffset_       = tetrahedronOffset_   +   0*gridview_.size(tetrahedron);
-
-                Dune::GeometryType pyramid;
-                pyramid.makePyramid();
-                prismOffset_         = tetrahedronOffset_   +   1*gridview_.size(pyramid);
-
-                Dune::GeometryType prism;
-                prism.makePrism();
-                hexahedronOffset_    = tetrahedronOffset_   +   2*gridview_.size(prism);
+                tetrahedronOffset_   = quadrilateralOffset_ + 4*gridview_.size(Dune::GeometryTypes::quadrilateral);
+                pyramidOffset_       = tetrahedronOffset_   +   0*gridview_.size(Dune::GeometryTypes::tetrahedron);
+                prismOffset_         = tetrahedronOffset_   +   1*gridview_.size(Dune::GeometryTypes::pyramid);
+                hexahedronOffset_    = tetrahedronOffset_   +   2*gridview_.size(Dune::GeometryTypes::prism);
             }
         }
 
diff --git a/dune/fufem/test/functionintegratortest.cc b/dune/fufem/test/functionintegratortest.cc
index 49770b29fb23f24413ab9310692881bef16dbdbf..f1fa26296a518ad150eb8a639ae1efc94218bd23 100644
--- a/dune/fufem/test/functionintegratortest.cc
+++ b/dune/fufem/test/functionintegratortest.cc
@@ -168,7 +168,7 @@ GridType* constructCoarseUnitSquareGrid()
     }
     std::cout << std::endl;
 
-    gridFactory.insertElement( Dune::GeometryType(Dune::GeometryType::simplex,dim), element);
+    gridFactory.insertElement( Dune::GeometryTypes::simplex(dim), element);
 
     for (int i=dim; i>=0; i--)
     {
@@ -176,7 +176,7 @@ GridType* constructCoarseUnitSquareGrid()
     }
     std::cout << std::endl;
 
-    gridFactory.insertElement( Dune::GeometryType(Dune::GeometryType::simplex,dim), element);
+    gridFactory.insertElement( Dune::GeometryTypes::simplex(dim), element);
 
     return gridFactory.createGrid();
 }
diff --git a/dune/fufem/utilities/gridconstruction.hh b/dune/fufem/utilities/gridconstruction.hh
index 8051a9b7ecf4025c2bb26f91d2ae734b268f41ef..6585d2ac01bd1a8d0a5480e4d16975b3509d8c45 100644
--- a/dune/fufem/utilities/gridconstruction.hh
+++ b/dune/fufem/utilities/gridconstruction.hh
@@ -58,13 +58,10 @@ struct GridConstruction<GridType,1> {
     for(ctype x=lower[0]; x<=upper[0]; x+=size[0])
       factory.insertVertex(FV({x}));
 
-    Dune::GeometryType gt;
-      gt.makeLine();
-
     using E = std::vector<unsigned>;
 
     for (unsigned i=0;i<nElements[0]; i++) {
-      factory.insertElement(gt, E({i, i+1}));
+      factory.insertElement(Dune::GeometryTypes::line, E({i, i+1}));
     }
 
     return std::unique_ptr<GridType>(factory.createGrid());
@@ -113,12 +110,10 @@ public:
       for(unsigned j=0; j<=nElements[1]; j++)
           factory.insertVertex(FV({lower[0]+i*size[0], lower[1]+j*size[1]}));
 
-    Dune::GeometryType gt;
+    Dune::GeometryType gt = Dune::GeometryTypes::cube(dim);
     bool tetra = config.get<bool>("tetrahedral");
     if (tetra)
-      gt.makeSimplex(dim);
-    else
-      gt.makeCube(dim);
+      gt = Dune::GeometryTypes::simplex(dim);
 
     using E = std::vector<unsigned>;