diff --git a/src/cosserat-continuum.cc b/src/cosserat-continuum.cc
index 8906f52794c4407784e626f6f220a299e0e1d8e8..9eae286948850e96d264f6a37882c7d9aeaaeb05 100644
--- a/src/cosserat-continuum.cc
+++ b/src/cosserat-continuum.cc
@@ -34,6 +34,7 @@
 #include <dune/common/parametertree.hh>
 #include <dune/common/parametertreeparser.hh>
 #include <dune/common/tuplevector.hh>
+#include <dune/common/version.hh>
 
 #include <dune/grid/uggrid.hh>
 #include <dune/grid/utility/structuredgridfactory.hh>
@@ -307,7 +308,11 @@ int main (int argc, char *argv[]) try
             << " faces and " << neumannVertices.count() << " degrees of freedom.\n";
 
   BitSetVector<1> neumannNodes(deformationFEBasis.size(), false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(neumannBoundary,deformationFEBasis,neumannNodes);
+#else
   constructBoundaryDofs(neumannBoundary,deformationFEBasis,neumannNodes);
+#endif
 
   for (size_t i=0; i<deformationFEBasis.size(); i++) {
     FieldVector<bool,3> isDirichlet;
diff --git a/src/film-on-substrate.cc b/src/film-on-substrate.cc
index 33fb40eb7741f4765326e3687c739b38a9e08e8f..811b7a7170e3fb8edd7a3af63d6a808e72085dd8 100644
--- a/src/film-on-substrate.cc
+++ b/src/film-on-substrate.cc
@@ -306,10 +306,17 @@ int main (int argc, char *argv[]) try
   BitSetVector<1> dirichletNodesY(compositeBasis.size({0}),false);
   BitSetVector<1> dirichletNodesZ(compositeBasis.size({0}),false);
   BitSetVector<1> surfaceShellNodes(compositeBasis.size({1}),false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(dirichletBoundaryX,deformationFEBasis,dirichletNodesX);
+  Fufem::markBoundaryPatchDofs(dirichletBoundaryY,deformationFEBasis,dirichletNodesY);
+  Fufem::markBoundaryPatchDofs(dirichletBoundaryZ,deformationFEBasis,dirichletNodesZ);
+  Fufem::markBoundaryPatchDofs(surfaceShellBoundary,orientationFEBasis,surfaceShellNodes);
+#else
   constructBoundaryDofs(dirichletBoundaryX,deformationFEBasis,dirichletNodesX);
   constructBoundaryDofs(dirichletBoundaryY,deformationFEBasis,dirichletNodesY);
   constructBoundaryDofs(dirichletBoundaryZ,deformationFEBasis,dirichletNodesZ);
   constructBoundaryDofs(surfaceShellBoundary,orientationFEBasis,surfaceShellNodes);
+#endif
 
   //Create BitVector matching the tangential space
   const int dimRotationTangent = Rotation<double,dim>::TangentVector::dimension;
diff --git a/src/gradient-flow.cc b/src/gradient-flow.cc
index 3979f517e78715e13c9f6f371953682ce8884e10..005bfed4a8a2246e8ac54f018a2d57a2df3d2828 100644
--- a/src/gradient-flow.cc
+++ b/src/gradient-flow.cc
@@ -166,7 +166,11 @@ int main (int argc, char *argv[]) try
   BoundaryPatch<GridType::LeafGridView> dirichletBoundary(grid->leafGridView(), dirichletVertices);
 
   BitSetVector<blocksize> dirichletNodes(feBasis.size(), false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(dirichletBoundary,feBasis,dirichletNodes);
+#else
   constructBoundaryDofs(dirichletBoundary,feBasis,dirichletNodes);
+#endif
 
   ////////////////////////////
   //   Initial iterate
diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc
index 940e55dab9f448e16b486768e5314a55959f6960..f6e7fff752109ffcd57675da06fbe4770e5c6870 100644
--- a/src/harmonicmaps.cc
+++ b/src/harmonicmaps.cc
@@ -13,6 +13,7 @@
 #include <dune/common/bitsetvector.hh>
 #include <dune/common/parametertree.hh>
 #include <dune/common/parametertreeparser.hh>
+#include <dune/common/version.hh>
 
 #include <dune/grid/uggrid.hh>
 #include <dune/grid/utility/structuredgridfactory.hh>
@@ -230,8 +231,11 @@ int main (int argc, char *argv[])
   BoundaryPatch<GridView> dirichletBoundary(gridView, dirichletVertices);
 
   BitSetVector<blocksize> dirichletNodes(feBasis.size(), false);
-
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(dirichletBoundary,feBasis,dirichletNodes);
+#else
   constructBoundaryDofs(dirichletBoundary,feBasis,dirichletNodes);
+#endif
 
   // //////////////////////////
   //   Initial iterate
diff --git a/src/rod3d.cc b/src/rod3d.cc
index e0e25e63b2e31d82f37cf04a8dac7d2f346023af..c5a23311fb6a96658b3d48d8e9b648c8465d9cfe 100644
--- a/src/rod3d.cc
+++ b/src/rod3d.cc
@@ -10,6 +10,7 @@
 #include <dune/common/bitsetvector.hh>
 #include <dune/common/parametertree.hh>
 #include <dune/common/parametertreeparser.hh>
+#include <dune/common/version.hh>
 
 #include <dune/grid/onedgrid.hh>
 
@@ -147,7 +148,11 @@ int main (int argc, char *argv[]) try
   BoundaryPatch<GridView> dirichletBoundary(gridView,
                                             true);      // true: The entire boundary is Dirichlet boundary
   BitSetVector<TargetSpace::TangentVector::dimension> dirichletNodes(tangentBasis.size(), false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(dirichletBoundary,tangentBasis,dirichletNodes);
+#else
   constructBoundaryDofs(dirichletBoundary,tangentBasis,dirichletNodes);
+#endif
 
   // Find the dof on the right boundary
   std::size_t rightBoundaryDof;
diff --git a/src/simofoxshell.cc b/src/simofoxshell.cc
index fcad1af33c558de0956302b9bfcbf62e0b18dd7d..29cab86f2fd22e1e706c53db7de1fd0764f2ffc5 100644
--- a/src/simofoxshell.cc
+++ b/src/simofoxshell.cc
@@ -9,6 +9,7 @@
 #include <dune/common/parametertree.hh>
 #include <dune/common/parametertreeparser.hh>
 #include <dune/common/tuplevector.hh>
+#include <dune/common/version.hh>
 
 #include <dune/grid/utility/structuredgridfactory.hh>
 #include <dune/grid/io/file/gmshreader.hh>
@@ -198,10 +199,18 @@ int main(int argc, char *argv[]) try
     std::cout << "Neumann boundary has " << neumannBoundary.numFaces() << " faces\n";
 
   BitSetVector<1> deformationDirichletNodes(midsurfaceFEBasis.size(), false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(dirichletBoundary, midsurfaceFEBasis, deformationDirichletNodes);
+#else
   constructBoundaryDofs(dirichletBoundary, midsurfaceFEBasis, deformationDirichletNodes);
+#endif
 
   BitSetVector<1> neumannNodes(midsurfaceFEBasis.size(), false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(neumannBoundary, directorFEBasis, neumannNodes);
+#else
   constructBoundaryDofs(neumannBoundary, directorFEBasis, neumannNodes);
+#endif
 
   BitSetVector<3> deformationDirichletDofs(midsurfaceFEBasis.size(), false);
   for (size_t i = 0; i < midsurfaceFEBasis.size(); i++)
@@ -210,7 +219,11 @@ int main(int argc, char *argv[]) try
         deformationDirichletDofs[i][j] = true;
 
   BitSetVector<1> orientationDirichletNodes(directorFEBasis.size(), false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(dirichletBoundary, directorFEBasis, orientationDirichletNodes);
+#else
   constructBoundaryDofs(dirichletBoundary, directorFEBasis, orientationDirichletNodes);
+#endif
 
   BitSetVector<2> orientationDirichletDofs(directorFEBasis.size(), false);
   for (size_t i = 0; i < directorFEBasis.size(); i++)
diff --git a/test/cosseratrodtest.cc b/test/cosseratrodtest.cc
index 2bb105815cef03448a18c9eb6ddf7c04d061d7f1..c853cd3817ca1fe1586f8c621cb639bb5571ee73 100644
--- a/test/cosseratrodtest.cc
+++ b/test/cosseratrodtest.cc
@@ -6,6 +6,7 @@
 #include <dune/fufem/utilities/adolcnamespaceinjections.hh>
 
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/version.hh>
 
 #include <dune/grid/onedgrid.hh>
 
@@ -103,7 +104,11 @@ int main (int argc, char *argv[]) try
   BoundaryPatch<GridView> dirichletBoundary(gridView,
                                             true);    // true: The entire boundary is Dirichlet boundary
   BitSetVector<TargetSpace::TangentVector::dimension> dirichletNodes(tangentBasis.size(), false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(dirichletBoundary,tangentBasis,dirichletNodes);
+#else
   constructBoundaryDofs(dirichletBoundary,tangentBasis,dirichletNodes);
+#endif
 
   // Find the dof on the right boundary
   std::size_t rightBoundaryDof;
diff --git a/test/harmonicmaptest.cc b/test/harmonicmaptest.cc
index 34049922362599e7d4db791ae5c248f64f0aeafb..6dd18b70ff65a383171eccc6688b25b73089a188 100644
--- a/test/harmonicmaptest.cc
+++ b/test/harmonicmaptest.cc
@@ -9,6 +9,7 @@
 
 #include <dune/common/typetraits.hh>
 #include <dune/common/bitsetvector.hh>
+#include <dune/common/version.hh>
 
 #include <dune/grid/uggrid.hh>
 #include <dune/grid/io/file/gmshreader.hh>
@@ -119,7 +120,11 @@ int main (int argc, char *argv[])
 
   BoundaryPatch<GridView> dirichletBoundary(gridView, dirichletVertices);
   BitSetVector<TargetSpace::TangentVector::dimension> dirichletNodes(powerBasis.size(), false);
+#if DUNE_VERSION_GTE(DUNE_FUFEM, 2, 10)
+  Fufem::markBoundaryPatchDofs(dirichletBoundary,tangentBasis,dirichletNodes);
+#else
   constructBoundaryDofs(dirichletBoundary,tangentBasis,dirichletNodes);
+#endif
 
   ////////////////////////////
   //  Initial iterate