diff --git a/dune/gfe/unitvector.hh b/dune/gfe/unitvector.hh
index f37fa4d98550a91a977f550c9bd4b480ab6a6502..63ce6f720ae08bbdab7d12cb54b3b15f2276610b 100644
--- a/dune/gfe/unitvector.hh
+++ b/dune/gfe/unitvector.hh
@@ -152,6 +152,14 @@ public:
         return result;
     }
 
+    static EmbeddedTangentVector log(const UnitVector& p, const UnitVector& q)
+    {
+      EmbeddedTangentVector result = p.projectOntoTangentSpace(q.data_-p.data_);
+      if (result.two_norm() > 1e-10)
+        result *= distance(p,q) / result.two_norm();
+      return result;
+    }
+
     /** \brief Length of the great arc connecting the two points */
      static T distance(const UnitVector& a, const UnitVector& b) {