diff --git a/dune/gfe/rodassembler.hh b/dune/gfe/rodassembler.hh
index 0b113a1d4229cdcf23595c326be9649e35746729..64c1327ecae83ff146d6675be04243003a8158ae 100644
--- a/dune/gfe/rodassembler.hh
+++ b/dune/gfe/rodassembler.hh
@@ -41,7 +41,7 @@ class RodAssembler<Basis,3> : public GeodesicFEAssembler<Basis, RigidBodyMotion<
 public:
         //! ???
     RodAssembler(const Basis& basis,
-                 LocalGeodesicFEStiffness<Basis, RigidBodyMotion<double,3> >* localStiffness)
+                 LocalGeodesicFEStiffness<Basis, RigidBodyMotion<double,3> >& localStiffness)
     : GeodesicFEAssembler<Basis, RigidBodyMotion<double,3> >(basis,localStiffness)
         {
             std::vector<RigidBodyMotion<double,3> > referenceConfiguration(basis.size());
diff --git a/src/cosserat-continuum.cc b/src/cosserat-continuum.cc
index a64eefe9aac68578bd3b64fb6de8474c524b0706..294d78a0beee1011538b0ef7109decd7cd7f1523 100644
--- a/src/cosserat-continuum.cc
+++ b/src/cosserat-continuum.cc
@@ -462,7 +462,7 @@ int main (int argc, char *argv[]) try
     LocalGeodesicFEADOLCStiffness<FEBasis,
                                   TargetSpace> localGFEADOLCStiffness(localCosseratEnergy.get());
 
-    GeodesicFEAssembler<FEBasis,TargetSpace> assembler(gridView, &localGFEADOLCStiffness);
+    GeodesicFEAssembler<FEBasis,TargetSpace> assembler(gridView, localGFEADOLCStiffness);
 #endif
 
     // /////////////////////////////////////////////////
diff --git a/src/gradient-flow.cc b/src/gradient-flow.cc
index 3879b56e0fd23777645367382f2b99439832b2e3..ac87cc85783c30796c7d2cceb34b054d895f5ed5 100644
--- a/src/gradient-flow.cc
+++ b/src/gradient-flow.cc
@@ -211,7 +211,7 @@ int main (int argc, char *argv[]) try
 
   LocalGeodesicFEADOLCStiffness<FEBasis,TargetSpace> localGFEADOLCStiffness(sumEnergy.get());
 
-  GeodesicFEAssembler<FEBasis,TargetSpace> assembler(feBasis, &localGFEADOLCStiffness);
+  GeodesicFEAssembler<FEBasis,TargetSpace> assembler(feBasis, localGFEADOLCStiffness);
 
   ///////////////////////////////////////////////////
   //   Create a Riemannian trust-region solver
diff --git a/src/harmonicmaps.cc b/src/harmonicmaps.cc
index 3cfa88935e56fe0dbc0d73e4d15b308097622056..68c123ebf6a6a324e6b0e665f84e5d420cd31c38 100644
--- a/src/harmonicmaps.cc
+++ b/src/harmonicmaps.cc
@@ -305,7 +305,7 @@ int main (int argc, char *argv[])
 
     LocalGeodesicFEADOLCStiffness<FEBasis,TargetSpace> localGFEADOLCStiffness(localEnergy.get());
 
-    GeodesicFEAssembler<FEBasis,TargetSpace> assembler(feBasis, &localGFEADOLCStiffness);
+    GeodesicFEAssembler<FEBasis,TargetSpace> assembler(feBasis, localGFEADOLCStiffness);
 
     // /////////////////////////////////////////////////
     //   Create a Riemannian trust-region solver
diff --git a/src/rod3d.cc b/src/rod3d.cc
index 90ac7842faf41c97a7c261a70d45e12982fe0cd6..8d4a9abcac5d91b5051fddb28b0debbe0e5a30ca 100644
--- a/src/rod3d.cc
+++ b/src/rod3d.cc
@@ -130,7 +130,7 @@ int main (int argc, char *argv[]) try
 
     LocalGeodesicFEFDStiffness<FEBasis,RigidBodyMotion<double,3> > localFDStiffness(&localStiffness);
 
-    RodAssembler<FEBasis,3> rodAssembler(gridView, &localFDStiffness);
+    RodAssembler<FEBasis,3> rodAssembler(gridView, localFDStiffness);
 
     RiemannianTrustRegionSolver<FEBasis,RigidBodyMotion<double,3> > rodSolver;
 
diff --git a/test/frameinvariancetest.cc b/test/frameinvariancetest.cc
index 56c00781b97548aa00aecbdbc3ea8db1501b53c6..dcf53d480975d78a4b2fce61765376dd61a5e121 100644
--- a/test/frameinvariancetest.cc
+++ b/test/frameinvariancetest.cc
@@ -79,7 +79,7 @@ int main (int argc, char *argv[]) try
 
     LocalGeodesicFEFDStiffness<FEBasis,RigidBodyMotion<double,3> > localFDStiffness(&localRodFirstOrderModel);
 
-    RodAssembler<FEBasis,3> assembler(feBasis, &localFDStiffness);
+    RodAssembler<FEBasis,3> assembler(feBasis, localFDStiffness);
 
     if (std::abs(assembler.computeEnergy(x) - assembler.computeEnergy(rotatedX)) > 1e-6)
         DUNE_THROW(Dune::Exception, "Rod energy not invariant under rigid body motions!");
diff --git a/test/harmonicmaptest.cc b/test/harmonicmaptest.cc
index 1b11a59d11f49b89f9b64fc3f1b92e3b745d269e..adc1467b0ac1e2da8e3dd219f3ec9c13a1d61f61 100644
--- a/test/harmonicmaptest.cc
+++ b/test/harmonicmaptest.cc
@@ -160,7 +160,7 @@ int main (int argc, char *argv[])
 
   LocalGeodesicFEADOLCStiffness<FEBasis,TargetSpace> localGFEADOLCStiffness(localEnergy.get());
 
-  GeodesicFEAssembler<FEBasis,TargetSpace> assembler(feBasis, &localGFEADOLCStiffness);
+  GeodesicFEAssembler<FEBasis,TargetSpace> assembler(feBasis, localGFEADOLCStiffness);
 
   ///////////////////////////////////////////////////
   //  Create a Riemannian trust-region solver
diff --git a/test/rodassemblertest.cc b/test/rodassemblertest.cc
index 20c186d3ee3c1ff42fee6676ad14c7a560ad5179..554007834a7010f3f3a0eb1f35572d9ac4d88685 100644
--- a/test/rodassemblertest.cc
+++ b/test/rodassemblertest.cc
@@ -553,7 +553,7 @@ int main (int argc, char *argv[]) try
 
     LocalGeodesicFEFDStiffness<Basis,RigidBodyMotion<double,3> > localFDStiffness(&localStiffness);
 
-    RodAssembler<Basis,3> rodAssembler(basis, &localFDStiffness);
+    RodAssembler<Basis,3> rodAssembler(basis, localFDStiffness);
 
     std::cout << "Energy: " << rodAssembler.computeEnergy(x) << std::endl;