diff --git a/dune/solvers/solvers/iterativesolver.hh b/dune/solvers/solvers/iterativesolver.hh
index 4c41de8997b2bb8f34a4f9a00d62624245e85b9e..162cf945661b48537b5591364f77947e352458be 100644
--- a/dune/solvers/solvers/iterativesolver.hh
+++ b/dune/solvers/solvers/iterativesolver.hh
@@ -88,15 +88,15 @@ namespace Dune {
         }
 
         /** \brief Get iteration step */
-        const ItStep& getIterationStep() const
+        const std::shared_ptr<ItStep> getIterationStep() const
         {
-          return *iterationStep_;
+          return iterationStep_;
         }
 
         /** \brief Get iteration step */
-        ItStep& getIterationStep()
+        std::shared_ptr<ItStep> getIterationStep()
         {
-          return *iterationStep_;
+          return iterationStep_;
         }
 
         /** \brief Set the error norm */