diff --git a/NonLinearSolver/materialLaw/mlawNonLocalDamage.cpp b/NonLinearSolver/materialLaw/mlawNonLocalDamage.cpp
index 1bf302b69fdfa84393481300ab0cf2316aab5501..12088c4c56ba576a8dad3a76571bf7f352850ae1 100644
--- a/NonLinearSolver/materialLaw/mlawNonLocalDamage.cpp
+++ b/NonLinearSolver/materialLaw/mlawNonLocalDamage.cpp
@@ -1087,7 +1087,7 @@ void mlawNonLocalDamage::constitutive(const STensor3& F0,const STensor3& Fn,STen
     DirrEnergDF(2,1) = dEnePathFollowingdStrain[5]/sq2;
     
     STensor43 Cel, Sel;
-    ElasticStiffness(&Cel);
+    ElasticStiffness(statev_1,&Cel);
     STensorOperation::inverseSTensor43(Cel,Sel);     
     static STensor3 I(1.);
     for (int i=0; i<3; i++){
@@ -2109,6 +2109,34 @@ const double mlawNonLocalDamage::poissonRatio() const
 {
   return _nu0;
 }
+void mlawNonLocalDamage::ElasticStiffness(double *statev, STensor43* elasticTensor) const
+{
+  fullMatrix<double> Cel_fullMatrix(6,6);
+  static double **Cel_matrix;
+  static bool init=false;
+  if(init==false)
+  {
+    mallocmatrix(&Cel_matrix,6,6);
+    init=true;
+  }
+  mat->get_elOp(statev,Cel_matrix);
+  for(int i=0;i<6;i++)
+  {
+    for(int j=0;j<6;j++){
+      Cel_fullMatrix(i,j)=Cel_matrix[i][j];
+    }
+  }
+  for(int i=3;i<6;i++)
+  {
+    for(int j=0;j<3;j++)
+    {
+      Cel_fullMatrix(i,j)*=(1./sq2);
+      Cel_fullMatrix(j,i)*=2.;
+      Cel_fullMatrix(j,i)*=(1./sq2);
+    }
+  }
+  STensorOperation::fromFullMatrixToSTensor43(Cel_fullMatrix,(*elasticTensor));
+};
 
 void mlawNonLocalDamage::ElasticStiffness(STensor43* elasticTensor) const
 {
diff --git a/NonLinearSolver/materialLaw/mlawNonLocalDamage.h b/NonLinearSolver/materialLaw/mlawNonLocalDamage.h
index 2ded6164f8ccdf67f7a070217b723f0bd29e2bc4..971bd9caf2e8cce570c54c8927ea9d13e640bff9 100644
--- a/NonLinearSolver/materialLaw/mlawNonLocalDamage.h
+++ b/NonLinearSolver/materialLaw/mlawNonLocalDamage.h
@@ -97,6 +97,7 @@ class mlawNonLocalDamage : public materialLaw
   virtual int getNbNonLocalVariables() const {return nlVar;};
   virtual void updateCharacteristicLengthTensor(double** chara_Length, double *statev) const {};
   virtual void ElasticStiffness(STensor43* elasticTensor) const;
+  virtual void ElasticStiffness(double *statev, STensor43* elasticTensor) const;
   virtual void ElasticStiffnessMtx(double *statev, STensor43* elasticTensor) const;
   virtual void ElasticStiffnessInc(double *statev, STensor43* elasticTensor) const;
   virtual void ElasticStiffness_incOri(double e1, double e2, double e3,STensor43* elasticTensor) const;