diff --git a/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh b/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
index 8e453b6398295a5ce6939d029f2d89401fcbd02e..88f3fc64f535c968f0308756c3d3c1e4d3df6295 100644
--- a/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
+++ b/dune/solvers/iterationsteps/minimalpolynomialextrapolationstep.hh
@@ -42,7 +42,9 @@ public:
     /** \brief Retrieve the solution */
     virtual VectorType getSol();
 
-    /** \brief To be called before starting to iterate */
+    /** \brief To be called before starting to iterate 
+       \note This calls the preprocess method for the dependant iteration step class, too!
+     */
     virtual void preprocess();
     
     IterationStep<VectorType,BitVectorType>* iterationStep_;
@@ -69,6 +71,8 @@ template<class VectorType, class BitVectorType>
 inline
 void MinimalPolynomialExtrapolationStep<VectorType, BitVectorType>::preprocess()
 {
+    iterationStep_->preprocess();
+    
     xHistory_.resize(1);
     xHistory_[0] = *this->x_;