diff --git a/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H b/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H
index f3c5d30e64447e31f588dd1aca56a008e4e96524..42fa25f07fb8ee1d26427c5a4a4fb26b004df342 100644
--- a/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H
+++ b/src/OpenFOAM/primitives/Tensor2D/Tensor2D.H
@@ -130,7 +130,7 @@ public:
 
     // Member Operators
 
-        //- Construct given SphericalTensor2D
+        //- Copy SphericalTensor2D
         inline void operator=(const SphericalTensor2D<Cmpt>&);
 };
 
diff --git a/src/OpenFOAM/primitives/Tensor2D/Tensor2DI.H b/src/OpenFOAM/primitives/Tensor2D/Tensor2DI.H
index 752be90d85f169c0df3fbb734864ae1aa32b2c04..385d53c16c55081ca66b8dda0b8ff2f38066532e 100644
--- a/src/OpenFOAM/primitives/Tensor2D/Tensor2DI.H
+++ b/src/OpenFOAM/primitives/Tensor2D/Tensor2DI.H
@@ -474,6 +474,14 @@ public:
 };
 
 
+template<class Cmpt>
+class innerProduct<Tensor2D<Cmpt>, Tensor2D<Cmpt> >
+{
+public:
+
+    typedef Tensor2D<Cmpt> type;
+};
+
 template<class Cmpt>
 class innerProduct<SphericalTensor2D<Cmpt>, Tensor2D<Cmpt> >
 {
@@ -490,6 +498,23 @@ public:
     typedef Tensor2D<Cmpt> type;
 };
 
+template<class Cmpt>
+class innerProduct<Tensor2D<Cmpt>, Vector2D<Cmpt> >
+{
+public:
+
+    typedef Vector2D<Cmpt> type;
+};
+
+template<class Cmpt>
+class innerProduct<Vector2D<Cmpt>, Tensor2D<Cmpt> >
+{
+public:
+
+    typedef Vector2D<Cmpt> type;
+};
+
+
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //