diff --git a/dune/elasticity/common/trustregionsolver.cc b/dune/elasticity/common/trustregionsolver.cc
index 0d1da517579abca3b98f6ebe52e357054f8f4c74..304e2841088887eb294ceae5fac6031b8b9f9bbc 100644
--- a/dune/elasticity/common/trustregionsolver.cc
+++ b/dune/elasticity/common/trustregionsolver.cc
@@ -39,7 +39,8 @@ setup(const typename BasisType::GridView::Grid& grid,
          int nu1,
          int nu2,
          int baseIterations,
-         double baseTolerance)
+         double baseTolerance,
+         double damping)
 
 {
     grid_                     = &grid;
@@ -53,6 +54,7 @@ setup(const typename BasisType::GridView::Grid& grid,
     ignoreNodes_              = std::make_shared<Dune::BitSetVector<blocksize>>(dirichletNodes);
     baseIterations_           = baseIterations;
     baseTolerance_            = baseTolerance;
+    damping_                  = damping;
 
     int numLevels = grid_->maxLevel()+1;
 
diff --git a/dune/elasticity/common/trustregionsolver.hh b/dune/elasticity/common/trustregionsolver.hh
index d819a2a9102814e18d87ef4d4b9e730a577fc72d..2043fb3a0166481d32f6a615a55e12d223900b06 100644
--- a/dune/elasticity/common/trustregionsolver.hh
+++ b/dune/elasticity/common/trustregionsolver.hh
@@ -79,7 +79,8 @@ public:
                int nu1,
                int nu2,
                int baseIterations,
-               double baseTolerance);
+               double baseTolerance,
+               double damping);
 
     void setIgnoreNodes(const Dune::BitSetVector<blocksize>& ignoreNodes)
     {
@@ -119,6 +120,9 @@ protected:
     /** \brief Error tolerance of the multigrid QP solver */
     double innerTolerance_;
 
+    /** \brief Damping for the smoothers in the multigrid QP solver */
+    double damping_;
+
     /** \brief Maximum number of base solver iterations */
     int baseIterations_;
 
diff --git a/problems/finite-strain-elasticity-bending.parset b/problems/finite-strain-elasticity-bending.parset
index 03cebdb9ebd6079a0a0e97883c4b3915dfcc31ab..3eaf945fc5d06b37bbd7433adf63a813374489ec 100644
--- a/problems/finite-strain-elasticity-bending.parset
+++ b/problems/finite-strain-elasticity-bending.parset
@@ -35,6 +35,9 @@ nu1 = 3
 # Number of postsmoothing steps
 nu2 = 3
 
+# Damping for the smoothers of the multigrid solver
+damping = 1.0
+
 # Number of coarse grid corrections
 mu = 1
 
diff --git a/src/finite-strain-elasticity.cc b/src/finite-strain-elasticity.cc
index e5dccd81003cbfa9df6eacfbf8f7782899ab1c65..28e49701200c4b641e56be92074f5de5b12f3f7b 100644
--- a/src/finite-strain-elasticity.cc
+++ b/src/finite-strain-elasticity.cc
@@ -109,6 +109,7 @@ int main (int argc, char *argv[]) try
   const int baseIterations              = parameterSet.get<int>("baseIt");
   const double mgTolerance              = parameterSet.get<double>("mgTolerance");
   const double baseTolerance            = parameterSet.get<double>("baseTolerance");
+  const double damping                  = parameterSet.get<double>("damping");
   std::string resultPath                = parameterSet.get("resultPath", "");
 
   // ///////////////////////////////////////
@@ -333,7 +334,8 @@ int main (int argc, char *argv[]) try
                  mgTolerance,
                  mu, nu1, nu2,
                  baseIterations,
-                 baseTolerance
+                 baseTolerance,
+                 damping
                 );
 
     ////////////////////////////////////////////////////////