diff --git a/src/elasticity/solvers/ElasticityNewmark.cpp b/src/elasticity/solvers/ElasticityNewmark.cpp
index 7080aec19a5c3f4fc2f5e07e8cafe5bf500caaac..50366b480d63748c9068e379f70fa9a6b46356c1 100644
--- a/src/elasticity/solvers/ElasticityNewmark.cpp
+++ b/src/elasticity/solvers/ElasticityNewmark.cpp
@@ -91,7 +91,11 @@ NewmarkSolver::calculateResidualUpdate(const IElasticity &assemble, const Vector
 
 void NewmarkSolver::calculateJacobiUpdate(const IElasticity &assemble, const Vector &u,
                                           Matrix &J) const {
-  assemble.Jacobi(u, J);
+  if (solveViscoelastic) {
+    assemble.ViscoJacobi(u, *velocity, J);
+  } else {
+    assemble.Jacobi(u, J);
+  }
   J += *residualMatrix;
   J.ClearDirichletValues();
 }