diff --git a/src/unitvector.hh b/src/unitvector.hh
index 00cd167701103b6b04aa5f7d209c4ea7637e1e59..773a63652645533c4b23b0d0f47581cb29e6338e 100644
--- a/src/unitvector.hh
+++ b/src/unitvector.hh
@@ -121,11 +121,11 @@ public:
         Dune::FieldMatrix<double,dim,dim> B;
         for (int i=0; i<dim; i++)
             for (int j=0; j<dim; j++)
-                B[i][j] = (i==j)*sp + a.data_[j]*b.data_[i];
+                B[i][j] = (i==j)*sp + a.data_[i]*b.data_[j];
 
         // Bring it all together
         result = A;
-        result.axpy(derivativeOfArcCosSquared(sp), B);
+        result.axpy(-1*derivativeOfArcCosSquared(sp), B);
 
         return result;
     }