diff --git a/dG3D/src/dG3DMaterialLaw.cpp b/dG3D/src/dG3DMaterialLaw.cpp
index cc0f448383c0b17e3d2899dd7a52746a9d9af9b7..dd64c2a427de4710f32cdc0752d877c3a5d605e5 100644
--- a/dG3D/src/dG3DMaterialLaw.cpp
+++ b/dG3D/src/dG3DMaterialLaw.cpp
@@ -6164,7 +6164,7 @@ void StochTMDMNDG3DMaterialLaw::stress(IPVariable*ipv, const IPVariable*ipvprev,
       STensorOperation::multSTensor3(Srot,R,S);
 
       if(stiff){
-        static STensor43 dFinvrot_dFrot;
+        static STensor43 dFinvrot_dFrot; STensorOperation::zero(dFinvrot_dFrot);
         STensorOperation::inverseSTensor3(F,Finvrot,&dFinvrot_dFrot,false);
         STensorOperation::multSTensor3(Finvrot,dPdT,dSdT); // Since dPdT is dProt_dT initially, dSdT is dSrot_dT is initially
         STensorOperation::multSTensor3InPlace2nd(RT,dSdT);
@@ -6205,11 +6205,9 @@ void StochTMDMNDG3DMaterialLaw::stress(IPVariable*ipv, const IPVariable*ipvprev,
             for(int k=0; k<3; k++){
               dHrot_dH(m,n) += R(m,k)*I2(k,n);
               for(int l=0; l<3; l++)
-                for(int p=0; p<3; p++)
-                  for(int q=0; q<3; q++)
-                    for(int r=0; r<3; r++)
-                      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);
+                for(int r=0; r<3; r++)
+                  for(int s=0; s<3; s++)
+                    dUrot_dF(m,n,k,l) += dUrot_dU(m,n,r,s)*dUdF(r,s,k,l);
             }
         /*
         for(int m=0; m<3; m++)