diff --git a/src/amdis/common/FieldMatVec.hpp b/src/amdis/common/FieldMatVec.hpp
index 3786be2b455a22901b47b05685c7db605397c1dd..7d0a438f8d05e9200f4cf1bd6fce3e7d9938e50c 100644
--- a/src/amdis/common/FieldMatVec.hpp
+++ b/src/amdis/common/FieldMatVec.hpp
@@ -53,6 +53,9 @@ namespace AMDiS
     REQUIRES( N!=1 && M!=1 )>
   auto operator*(FieldVector<T,N> const& v, FieldVector<T,M> const& w);
 
+  template <class T, class S, int N>
+  auto dot(FieldMatrix<T,1,N> const& vec1, FieldMatrix<S,1,N> const& vec2);
+
   // ----------------------------------------------------------------------------
 
   /// Sum of vector entires.
diff --git a/src/amdis/common/FieldMatVec.inc.hpp b/src/amdis/common/FieldMatVec.inc.hpp
index 83254c16d7663a36a2df2d4135f127650eae0ebf..b60db4cc72491bc5cb3fe4216418a1b47034ba47 100644
--- a/src/amdis/common/FieldMatVec.inc.hpp
+++ b/src/amdis/common/FieldMatVec.inc.hpp
@@ -85,6 +85,12 @@ auto operator*(FieldVector<T,N> const& v, FieldVector<T,M> const& w)
   return v.dot(w);
 }
 
+template <class T, class S, int N>
+auto dot(FieldMatrix<T,1,N> const& vec1, FieldMatrix<S,1,N> const& vec2)
+{
+  return vec1[0].dot(vec2[0]);
+}
+
 // ----------------------------------------------------------------------------
 
 namespace Impl