diff --git a/dune/gfe/nonplanarcosseratshellenergy.hh b/dune/gfe/nonplanarcosseratshellenergy.hh
index 21a1f2a9e390bff5db91d6984bfcce7b03c56343..7061eab810e04015304fe4f13a41042f756e6cd9 100644
--- a/dune/gfe/nonplanarcosseratshellenergy.hh
+++ b/dune/gfe/nonplanarcosseratshellenergy.hh
@@ -230,6 +230,9 @@ energy(const typename Basis::LocalView& localView,
 
     auto aContravariant = aCovariant;
     aContravariant.invert();
+    // The contravariant base vectors are the *columns* of the inverse of the covariant matrix
+    // To get an easier access to the columns, we use the transpose of the contravariant matrix
+    aContravariant = Dune::GFE::transpose(aContravariant);
 
     Dune::FieldMatrix<double,3,3> a(0);
     for (int alpha=0; alpha<gridDim; alpha++)