diff --git a/dG3D/src/dG3DMaterialLaw.cpp b/dG3D/src/dG3DMaterialLaw.cpp
index 277a12626e3abac6aa5b3d56110b72620713e231..bca3df91422aa1cdb7b5fb0634917d6c85a3e6a5 100644
--- a/dG3D/src/dG3DMaterialLaw.cpp
+++ b/dG3D/src/dG3DMaterialLaw.cpp
@@ -5753,7 +5753,8 @@ void StochTMDMNDG3DMaterialLaw::stress(IPVariable*ipv, const IPVariable*ipvprev,
 
     STensorOperation::multSTensor3InPlace2nd(R,U);
     STensorOperation::multSTensor3InPlace1st(U,RT);
-    F = U; // R_def in the rotated frame = I;
+    STensorOperation::multSTensor3(R_def,U,F);
+    // F = U; // R_def in the rotated frame = I;
     STensorOperation::multSTensor3SVector3InPlace2nd(R,H);
   }
 
@@ -6208,8 +6209,14 @@ void StochTMDMNDG3DMaterialLaw::stress(IPVariable*ipv, const IPVariable*ipvprev,
                       for(int s=0; s<3; s++)
                         dUrot_dF(m,n,k,l) += I4_symm(m,n,p,q)*dUrot_dU(p,q,r,s)*dUdF(r,s,k,l);
             }
-                        
-        dFrot_dF = dUrot_dF; // R_def_rot = I;
+        
+        for(int m=0; m<3; m++)
+          for(int n=0; n<3; n++)
+            for(int k=0; k<3; k++)
+              for(int l=0; l<3; l++)
+                for(int p=0; p<3; p++)
+                  dFrot_dF(m,n,k,l) += R_def(m,p)*dUrot_dF(p,n,k,l);
+        // dFrot_dF = dUrot_dF; // R_def_rot = I;
         
         for(int m=0; m<3; m++)
           for(int n=0; n<3; n++)