diff --git a/Geo/STensor3.h b/Geo/STensor3.h
index c99db1b89c3870ec043bfc528fc13748fc087a4b..bdafe1c9b873cc7a2bbed94467de304280c7c06f 100644
--- a/Geo/STensor3.h
+++ b/Geo/STensor3.h
@@ -316,6 +316,7 @@ inline void tensprod(const SVector3 &a, const SVector3 &b, STensor3 &c)
         c(i,j)=a(i)*b(j);
 }
 
+
 inline double dot(const STensor3 &a, const STensor3 &b)
 {
   double prod=0;
@@ -325,6 +326,23 @@ inline double dot(const STensor3 &a, const STensor3 &b)
   return prod;
 }
 
+inline SVector3 operator* (const STensor3& t, const SVector3& v){
+  SVector3 temp(0.,0.,0.);
+  for (int i=0; i<3; i++)
+    for (int j=0; j<3; j++)
+      temp[i]+= t(i,j)*v[j];
+  return temp;
+};
+
+inline SVector3 operator* (const SVector3& v, const STensor3& t){
+  SVector3 temp(0.,0.,0.);
+  for (int i=0; i<3; i++)
+    for (int j=0; j<3; j++)
+      temp[j]+= v[i]*t(i,j);
+  return temp;
+};
+
+
 inline STensor3 operator*(const STensor3 &t, double m)
 {
   STensor3 val(t);