diff --git a/dune/gfe/rotation.hh b/dune/gfe/rotation.hh
index 668675cbd87ff73c3e41f048b838631e06707e93..0a8684e5111f3467885b76e62eb9efae5cd54fbe 100644
--- a/dune/gfe/rotation.hh
+++ b/dune/gfe/rotation.hh
@@ -271,14 +271,14 @@ public:
         return exp(p, vMatrix);
     }
        
-    /** \brief Compute tangent vector from given basepoint and axial vector. */ 
-    static TangentVector axialToTangentVector(const Rotation<3,T>& p, const Dune::FieldVector<T,3> axialVector) {
+    /** \brief Compute tangent vector from given basepoint and skew symmetric matrix. */ 
+    static TangentVector axialToTangentVector(const Rotation<3,T>& p, const SkewMatrix<T,3>& v ) {
 
         // embedded tangent vector at identity
         Quaternion<T> vAtIdentity(0);
-        vAtIdentity[0] = 0.5*axialVector[0];
-        vAtIdentity[1] = 0.5*axialVector[1];
-        vAtIdentity[2] = 0.5*axialVector[2];
+        vAtIdentity[0] = 0.5*v.axial()[0];
+        vAtIdentity[1] = 0.5*v.axial()[1];
+        vAtIdentity[2] = 0.5*v.axial()[2];
 
         // multiply with base point to get real embedded tangent vector
         Quaternion<T> vQuat = p.mult(vAtIdentity);
@@ -293,8 +293,8 @@ public:
         return tang;
     }
 
-    /** \brief Compute axial vector from given basepoint and tangent vector. */ 
-    static Dune::FieldVector<T,3> tangentToAxialVector(const Rotation<3,T>& p, const TangentVector& tangent) {
+    /** \brief Compute skew matrix from given basepoint and tangent vector. */ 
+    static SkewMatrix<T,3> tangentToAxialVector(const Rotation<3,T>& p, const TangentVector& tangent) {
         
         // embedded tangent vector
         Dune::FieldMatrix<T,3,4> basis = p.orthonormalFrame();
@@ -305,12 +305,12 @@ public:
         Quaternion<T> vAtIdentity = p.inverse().mult(embeddedTangent);
         assert( std::fabs(vAtIdentity[3]) < 1e-8 );
 
-        Dune::FieldVector<T,3> axial;
-        axial[0] = 2*vAtIdentity[0];
-        axial[1] = 2*vAtIdentity[1];
-        axial[2] = 2*vAtIdentity[2];
+        SkewMatrix<T,3> skew;
+        skew.axial()[0] = 2*vAtIdentity[0];
+        skew.axial()[1] = 2*vAtIdentity[1];
+        skew.axial()[2] = 2*vAtIdentity[2];
 
-        return axial;
+        return skew;
     }
 
     static Rotation<3,T> exp(const Rotation<3,T>& p, const Dune::FieldVector<T,4>& v) {