diff --git a/src/quaternion.hh b/src/quaternion.hh
index 293e6b820fc857ad83068d540f1019f12ea3cba3..c2e233c338ff918037cc996743c7132dfe30d7e0 100644
--- a/src/quaternion.hh
+++ b/src/quaternion.hh
@@ -340,7 +340,7 @@ public:
         \param omega must be between 0 and 1
     */
     static Quaternion<T> interpolateDerivative(const Quaternion<T>& a, const Quaternion<T>& b, 
-                                               double omega, double intervalLength) {
+                                               double omega) {
         Quaternion<T> result(0);
 
         // Compute difference on T_a SO(3)
@@ -349,8 +349,6 @@ public:
         Dune::FieldVector<double,3> v = xi;
         v *= omega;
         
-        xi /= intervalLength;
-
         // //////////////////////////////////////////////////////////////
         //   v now contains the derivative at 'a'.  The derivative at
         //   the requested site is v pushed forward by Dexp.
diff --git a/src/rodassembler.cc b/src/rodassembler.cc
index a1fe9445338235836cd004abd5e42eac9d5fbb2a..a942e256953dca510fcf22fb75c641da5219d4ff 100644
--- a/src/rodassembler.cc
+++ b/src/rodassembler.cc
@@ -324,7 +324,9 @@ getStrain(const Dune::array<Configuration,2>& localSolution,
         
     // Get the derivative of the rotation at the quadrature point by interpolating in $H$
     Quaternion<double> q_s = Quaternion<double>::interpolateDerivative(localSolution[0].q, localSolution[1].q,
-                                                                       pos, 1/shapeGrad[1]);
+                                                                       pos);
+    // Transformation from the reference element
+    q_s *= inv[0][0];
         
     // /////////////////////////////////////////////
     //   Sum it all up
@@ -483,7 +485,10 @@ assembleGradient(const Entity& element,
         
         // Get the derivative of the rotation at the quadrature point by interpolating in $H$
         Quaternion<double> q_s = Quaternion<double>::interpolateDerivative(solution[0].q, solution[1].q,
-                                                                              quadPos, integrationElement);
+                                                                           quadPos);
+        // Transformation from the reference element
+        q_s *= inv[0][0];
+        
         
         // The current strain
         FieldVector<double,blocksize> strain = getStrain(solution, element, quadPos);