diff --git a/dune/gfe/localgeodesicfestiffness.hh b/dune/gfe/localgeodesicfestiffness.hh
index 8ad5518d2d4b9c848e043add12ea4ab45d1973cd..129c4faac5d22137290ac0495dd46aa022b6a552 100644
--- a/dune/gfe/localgeodesicfestiffness.hh
+++ b/dune/gfe/localgeodesicfestiffness.hh
@@ -16,11 +16,11 @@ class LocalGeodesicFEStiffnessImp
 public:
 
     template <int N>
-    static void infinitesimalVariation(RealTuple<N>& c, double eps, int i)
+    static Dune::FieldVector<double,N> infinitesimalVariation(const RealTuple<N>& c, double eps, int i)
     {
         Dune::FieldVector<double,N> v(0);
         v[i] = eps;
-        c = RealTuple<N>::exp(c,v);
+        return RealTuple<N>::exp(c,v).globalCoordinates();
     }
 
     /** \brief For the fd approximations