diff --git a/dune/gfe/tensor3.hh b/dune/gfe/tensor3.hh
index ec9004700715fd655cb83b5f57812bff6d81dad0..10144b7926e7bde06945864f74c68a4440c0ed72 100644
--- a/dune/gfe/tensor3.hh
+++ b/dune/gfe/tensor3.hh
@@ -70,7 +70,23 @@ class Tensor3
                     
             return result;
         }
-    
+
+        template <int N4>
+        friend Tensor3<T,N1,N2,N4> operator*(const Tensor3<T,N1,N2,N3>& a, const Dune::FieldMatrix<T,N3,N4>& b)
+        {
+            Tensor3<T,N1,N2,N4> result;
+            
+            for (int i=0; i<N1; i++)
+                for (int j=0; j<N2; j++)
+                    for (int k=0; k<N4; k++) {
+                        result[i][j][k] = 0;
+                        for (int l=0; l<N3; l++)
+                            result[i][j][k] += a[i][j][l]*b[l][k];
+                    }
+                    
+            return result;
+        }
+
     friend Tensor3<T,N1,N2,N3> operator+(const Tensor3<T,N1,N2,N3>& a, const Tensor3<T,N1,N2,N3>& b)
     {
             Tensor3<T,N1,N2,N3> result;