diff --git a/src/quaternion.hh b/src/quaternion.hh
index e68760e188e7735226e45adfa1148afa7fd4b7d5..293e6b820fc857ad83068d540f1019f12ea3cba3 100644
--- a/src/quaternion.hh
+++ b/src/quaternion.hh
@@ -336,19 +336,21 @@ public:
         return a.mult(exp(v[0], v[1], v[2]));
     }
 
-    /** \brief Interpolate between two rotations */
+    /** \brief Interpolate between two rotations 
+        \param omega must be between 0 and 1
+    */
     static Quaternion<T> interpolateDerivative(const Quaternion<T>& a, const Quaternion<T>& b, 
-                                               double omega, double intervallLength) {
+                                               double omega, double intervalLength) {
         Quaternion<T> result(0);
 
         // Compute difference on T_a SO(3)
         Dune::FieldVector<double,3> xi = difference(a,b);
 
-        xi /= intervallLength;
-
         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.