diff --git a/dune/solvers/iterationsteps/mmgstep.hh b/dune/solvers/iterationsteps/mmgstep.hh
index 0bc574de1ca00acb3480d2f56ae86916bb0ed38c..b6bcd2bee730986abfb6041d90488add3fc71205 100644
--- a/dune/solvers/iterationsteps/mmgstep.hh
+++ b/dune/solvers/iterationsteps/mmgstep.hh
@@ -16,6 +16,7 @@ template<class MatrixType, class VectorType>
 class MonotoneMGStep : public MultigridStep<MatrixType, VectorType>
 {
 
+    using Base = MultigridStep<MatrixType,VectorType>;
     static const int dim = VectorType::block_type::dimension;
 
     typedef typename VectorType::field_type field_type;
@@ -28,7 +29,7 @@ public:
     MonotoneMGStep(const MatrixType& mat,
                    VectorType& x,
                    VectorType& rhs)
-        : MultigridStep<MatrixType, VectorType>(mat, x, rhs),
+        : Base(mat, x, rhs),
           hasObstacleHierarchy_(0), obstacleHierarchy_(0)
     {
         oldCritical.resize(x.size(), false);
@@ -40,7 +41,7 @@ public:
                             VectorType& x,
                             const VectorType& rhs)
     {
-        MultigridStep<MatrixType, VectorType>::setProblem(mat,x,rhs);
+        Base::setProblem(mat,x,rhs);
         oldCritical.resize(x.size(), false);
     }
 
@@ -74,6 +75,9 @@ protected:
 
     //! Hierarchy containing the obstacle values of the coarse obstacles
     std::vector<ObstacleVectorType*>  obstacleHierarchy_;
+private:
+    using Base::setProblem;
+
 };
 
 #include "mmgstep.cc"