diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 769ecb8e96e4bbb39df16394a867f59ab7168fdd..b7a9045ec41b6974304d2ab170141a1cdee3aeed 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -74,11 +74,12 @@
 
 int const dim = DIM;
 
-template <class GridView>
+template <class GridView, class GridCorner>
 void setup_boundary(GridView const &gridView,
                     Dune::BitSetVector<dim> &ignoreNodes,
                     Dune::BitSetVector<1> &neumannNodes,
-                    Dune::BitSetVector<1> &frictionalNodes) {
+                    Dune::BitSetVector<1> &frictionalNodes,
+                    GridCorner const &lowerLeft, GridCorner const &upperRight) {
   typedef typename GridView::template Codim<dim>::Iterator VertexLeafIterator;
 
   Dune::MultipleCodimMultipleGeomTypeMapper<
@@ -88,17 +89,15 @@ void setup_boundary(GridView const &gridView,
        it != gridView.template end<dim>(); ++it) {
     assert(it->geometry().corners() == 1);
     Dune::FieldVector<double, dim> const coordinates = it->geometry().corner(0);
-    if (coordinates[1] == 1) {
-      size_t const id = myVertexMapper.map(*it);
+    size_t const id = myVertexMapper.map(*it);
+    if (coordinates[1] == upperRight[1])
       ignoreNodes[id] = true;
-    } else if (coordinates[1] == 0) {
-      size_t const id = myVertexMapper.map(*it);
+    else if (coordinates[1] == lowerLeft[1]) {
       frictionalNodes[id] = true;
       ignoreNodes[id][1] = true; // Zero displacement in direction y
-    } else if (coordinates[0] == 0 || coordinates[0] == 1) {
-      size_t const id = myVertexMapper.map(*it);
+    } else if (coordinates[0] == lowerLeft[0] ||
+               coordinates[0] == upperRight[0])
       neumannNodes[id] = true;
-    }
   }
 }
 
@@ -182,7 +181,8 @@ int main(int argc, char *argv[]) {
     Dune::BitSetVector<dim> ignoreNodes(finestSize, false);
     Dune::BitSetVector<1> neumannNodes(finestSize, false);
     Dune::BitSetVector<1> frictionalNodes(finestSize, false);
-    setup_boundary(leafView, ignoreNodes, neumannNodes, frictionalNodes);
+    setup_boundary(leafView, ignoreNodes, neumannNodes, frictionalNodes,
+                   lowerLeft, upperRight);
 
     auto const nodalIntegrals =
         assemble_frictional<GridType, GridView, SmallVector, P1Basis>(