diff --git a/NonLinearSolver/nlsolver/nonLinearMechSolver.cpp b/NonLinearSolver/nlsolver/nonLinearMechSolver.cpp
index 892db3fc54b2bdb46d20528d28b9f61db1805c22..70a6ae567c61ec33e715335e6ebcac3b996423af 100644
--- a/NonLinearSolver/nlsolver/nonLinearMechSolver.cpp
+++ b/NonLinearSolver/nlsolver/nonLinearMechSolver.cpp
@@ -3348,6 +3348,14 @@ void nonLinearMechSolver::oneStepPostSolve(const double curtime, const int numst
   {
     // copy current to initial state
     (*_initialState) = (*_currentState);
+    
+    if ((_stiffnessModificationMonitoring->quasiNewtonUpdate() and _tangentflag) and 
+        (_systemType == DISP_ELIM or _systemType == DISP_MULT))
+    {
+      Msg::Info("stiffness matrix is reevaluated");
+      this->computeStiffMatrix();
+    }
+    
 
     this->extractAverageProperties(_tangentflag);
     if (getDamageToCohesiveJumpFlag() and !_multiscaleFlag){
@@ -10821,7 +10829,6 @@ double nonLinearMechSolver::solveSNL()
       // write the stress*.msh and disp*.msh files to check
       // loaded values
       /*
-      Msg::Info("Write stress and disp file after loading internal state");
       double DT = _timeManager->getTimeStep();
       double CURtime = DT+_timeManager->getLastTime();
       int NStep = _timeManager->getLastIterationIndex();