diff --git a/dune/istl/paamg/twolevelmethod.hh b/dune/istl/paamg/twolevelmethod.hh
index 163f0cc8eb0466fbdc882996c3f5eaf8b67b1b48..0916872344d4ffe1a0978dd2a41717c8b195df48 100644
--- a/dune/istl/paamg/twolevelmethod.hh
+++ b/dune/istl/paamg/twolevelmethod.hh
@@ -402,9 +402,10 @@ public:
     policy_->moveToCoarseLevel(*context.rhs);
     InverseOperatorResult res;
     coarseSolver_->apply(policy_->getCoarseLevelLhs(), policy_->getCoarseLevelRhs(), res);
-    policy_->moveToFineLevel(*context.update);
-    // Postsmoothing
     *context.lhs=0;
+    policy_->moveToFineLevel(*context.lhs);
+    *context.update += *context.lhs;
+    // Postsmoothing
     postsmooth(context, postSteps_);
 
   }