diff --git a/dune/elasticity/common/nonlinearelasticityproblem.cc b/dune/elasticity/common/nonlinearelasticityproblem.cc
index 0694f0c01dcb6ea1c52116d30537e68d3ca1b325..72171f1cc351999b59478d5a78218a4fa577919a 100644
--- a/dune/elasticity/common/nonlinearelasticityproblem.cc
+++ b/dune/elasticity/common/nonlinearelasticityproblem.cc
@@ -36,9 +36,10 @@ void NonlinearElasticityProblem<VectorType,MatrixType, Basis>::assembleDefectQP(
     GridFunctionPtr displace = std::make_shared<BasisGridFunction<Basis,VectorType> >(basis,iterate);
 
     // assemble quadratic term
-    hessian.setSize(basis.size(),basis.size());
+    hessian = DiagonalMatrixType(basis.size());
     hessian = 0;
 
+
     const auto& locHessianAssembler =  material_->secondDerivative(displace);
 
     // ////////////////////////////////////////////////////////////////////////