diff --git a/src/sliding-block-data/mybody.hh b/src/sliding-block-data/mybody.hh
index e21d9f1aa43c666df2b2cc24bc245e49cb7e7ddf..b058898bb59bed3a2c8d47b03dcbb5a401d366a0 100644
--- a/src/sliding-block-data/mybody.hh
+++ b/src/sliding-block-data/mybody.hh
@@ -17,13 +17,13 @@ template <int dimension> class MyBody : public Body<dimension> {
       Dune::FieldVector<double, dimension>, Dune::FieldVector<double, 1>>;
 
 public:
-  MyBody(Dune::ParameterTree const &parset, MyGeometry const &mygeometry)
+  MyBody(Dune::ParameterTree const &parset)
       : poissonRatio_(parset.get<double>("body.poissonRatio")),
         youngModulus_(parset.get<double>("body.youngModulus")),
         shearViscosityField_(parset.get<double>("body.shearViscosity")),
         bulkViscosityField_(parset.get<double>("body.bulkViscosity")),
         densityField_(parset.get<double>("body.density")),
-        gravityField_(densityField_, mygeometry.zenith,
+        gravityField_(densityField_, MyGeometry::zenith,
                       parset.get<double>("gravity")) {}
 
   double getPoissonRatio() const override { return poissonRatio_; }
diff --git a/src/sliding-block-data/mygeometry.hh b/src/sliding-block-data/mygeometry.hh
index 25bd77360adf0af54a75a7eac82764fac711b9c0..96cd65346dd4381c5063d71cb1a513f928e468d0 100644
--- a/src/sliding-block-data/mygeometry.hh
+++ b/src/sliding-block-data/mygeometry.hh
@@ -4,23 +4,24 @@
 #include <dune/common/fassign.hh>
 #include <dune/common/fvector.hh>
 
-// kludge because fieldvectors have no initialiser_list constructor,see
-// https://dune-project.org/flyspray/index.php?do=details&task_id=1166
-Dune::FieldVector<double, 2> generateVector(double x, double y) {
-  Dune::FieldVector<double, 2> tmp;
-  tmp <<= x, y;
-  return tmp;
-}
-
-struct MyGeometry {
-  MyGeometry() {}
+namespace MyGeometry {
+namespace {
+  using LocalVector = Dune::FieldVector<double, 2>;
 
-  Dune::FieldVector<double, 2> A = generateVector(0, 0);
-  Dune::FieldVector<double, 2> B = generateVector(5, 0);
-  Dune::FieldVector<double, 2> C = generateVector(5, 1);
-  Dune::FieldVector<double, 2> D = generateVector(0, 1);
+  // kludge because fieldvectors have no initialiser_list constructor, see
+  // https://dune-project.org/flyspray/index.php?do=details&task_id=1166
+  LocalVector generateVector(double x, double y) {
+    LocalVector tmp;
+    tmp <<= x, y;
+    return tmp;
+  }
+}
 
-  Dune::FieldVector<double, 2> zenith = generateVector(0, 1);
-};
+LocalVector const A = generateVector(0, 0);
+LocalVector const B = generateVector(5, 0);
+LocalVector const C = generateVector(5, 1);
+LocalVector const D = generateVector(0, 1);
 
+LocalVector const zenith = generateVector(0, 1);
+}
 #endif
diff --git a/src/sliding-block-data/myglobalfrictiondata.hh b/src/sliding-block-data/myglobalfrictiondata.hh
index f511c13ea5a55fe95a7c7942b12d0d022bd50084..8487a125f016b0342d8f03b8ce0d75fe4c01f7b6 100644
--- a/src/sliding-block-data/myglobalfrictiondata.hh
+++ b/src/sliding-block-data/myglobalfrictiondata.hh
@@ -16,7 +16,7 @@ class MyGlobalFrictionData : public GlobalFrictionData<dimension> {
   using typename GlobalFrictionData<dimension>::VirtualFunction;
 
 public:
-  MyGlobalFrictionData(Dune::ParameterTree const &parset, MyGeometry const &tri)
+  MyGlobalFrictionData(Dune::ParameterTree const &parset)
       : C_(parset.get<double>("C")),
         L_(parset.get<double>("L")),
         V0_(parset.get<double>("V0")),
@@ -42,5 +42,4 @@ class MyGlobalFrictionData : public GlobalFrictionData<dimension> {
   MyConstantFunction const b_;
   double const mu0_;
 };
-
 #endif
diff --git a/src/sliding-block-data/mygrid.hh b/src/sliding-block-data/mygrid.hh
index 732bff45dd43ec0faea65b8c2af3d0600d532b8b..d38616c126b4ad8f20d356cb0acc2614cdfe035e 100644
--- a/src/sliding-block-data/mygrid.hh
+++ b/src/sliding-block-data/mygrid.hh
@@ -7,28 +7,26 @@
 
 #include "mygeometry.hh"
 
-template <class Grid>
-std::shared_ptr<Grid> constructGrid(MyGeometry const &myGeometry) {
+template <class Grid> std::shared_ptr<Grid> constructGrid() {
   std::array<unsigned int, 2> elements = { { 5, 1 } };
   return Dune::StructuredGridFactory<Grid>::createSimplexGrid(
-      myGeometry.A, myGeometry.C, elements);
+      MyGeometry::A, MyGeometry::C, elements);
 }
 
-template <class GridView, class MyGeometry> class MyFaces {
+template <class GridView> class MyFaces {
 private:
   bool isClose(double a, double b) {
     return std::abs(a - b) < 1e-14;
   };
 
 public:
-  MyFaces(GridView const &gridView, MyGeometry const &myGeometry)
-      : lower(gridView), upper(gridView) {
+  MyFaces(GridView const &gridView) : lower(gridView), upper(gridView) {
     lower.insertFacesByProperty([&](typename GridView::Intersection const &in) {
-      return isClose(myGeometry.A[1], in.geometry().center()[1]);
+      return isClose(MyGeometry::A[1], in.geometry().center()[1]);
     });
 
     upper.insertFacesByProperty([&](typename GridView::Intersection const &in) {
-      return isClose(myGeometry.C[1], in.geometry().center()[1]);
+      return isClose(MyGeometry::C[1], in.geometry().center()[1]);
     });
   }
 
diff --git a/src/sliding-block.cc b/src/sliding-block.cc
index d3872be8545d9a637ca2019a477b6996f5bbf834..55185c366a1adbfa555b5fae481982743c61d18e 100644
--- a/src/sliding-block.cc
+++ b/src/sliding-block.cc
@@ -97,11 +97,9 @@ int main(int argc, char *argv[]) {
     Dune::ParameterTreeParser::readINITree(datadir "/parset.cfg", parset);
     Dune::ParameterTreeParser::readOptions(argc, argv, parset);
 
-    MyGeometry const myGeometry;
-
     // {{{ Set up grid
     using Grid = Dune::ALUGrid<dims, dims, Dune::simplex, Dune::nonconforming>;
-    auto grid = constructGrid<Grid>(myGeometry); // FIXME
+    auto grid = constructGrid<Grid>();
 
     auto const refinements = parset.get<size_t>("grid.refinements");
     grid->globalRefine(refinements);
@@ -112,7 +110,7 @@ int main(int argc, char *argv[]) {
     // }}}
 
     // Set up myFaces
-    MyFaces<GridView, MyGeometry> myFaces(leafView, myGeometry);
+    MyFaces<GridView> myFaces(leafView);
 
     // Neumann boundary
     BoundaryPatch<GridView> const neumannBoundary(leafView);
@@ -157,7 +155,7 @@ int main(int argc, char *argv[]) {
 
     MyAssembler myAssembler(leafView);
 
-    MyBody<dims> const body(parset, myGeometry);
+    MyBody<dims> const body(parset);
 
     Matrix A, C, M;
     myAssembler.assembleElasticity(body.getYoungModulus(),
@@ -232,8 +230,7 @@ int main(int argc, char *argv[]) {
     myAssembler.assembleNormalStress(frictionalBoundary, normalStress,
                                      body.getYoungModulus(),
                                      body.getPoissonRatio(), u_initial);
-    MyGlobalFrictionData<dims> frictionInfo(parset.sub("boundary.friction"),
-                                            myGeometry);
+    MyGlobalFrictionData<dims> frictionInfo(parset.sub("boundary.friction"));
     auto myGlobalNonlinearity = myAssembler.assembleFrictionNonlinearity(
         frictionalBoundary, frictionInfo, normalStress);
     myGlobalNonlinearity->updateLogState(alpha_initial);