diff --git a/dune-solvers/iterationsteps/multigridstep.cc b/dune-solvers/iterationsteps/multigridstep.cc
index c09f7a465fefd81d9025deb1b7681c1a652ec685..9faddf9b7805918ddd3420ac3edcd767ef4b2ac9 100644
--- a/dune-solvers/iterationsteps/multigridstep.cc
+++ b/dune-solvers/iterationsteps/multigridstep.cc
@@ -65,8 +65,7 @@ void MultigridStep<OperatorType, VectorType, BitVectorType>::preprocess()
             delete(this->mat_[i]);
             this->mat_[i] = NULL;
         }
-//        int nDofs = this->mgTransfer_[i]->getMatrix().M();
-//        this->mat_[i] = new OperatorType(nDofs, nDofs, OperatorType::row_wise);
+
         this->mat_[i] = new OperatorType;
         
         // Compute which entries are present in the (sparse) coarse grid stiffness
@@ -110,9 +109,11 @@ void MultigridStep<OperatorType, VectorType, BitVectorType>::preprocess()
     if (this->basesolver_ == NULL)
         DUNE_THROW(SolverError, "You have not provided a base solver!");
 
-    if (typeid(*this->basesolver_) == typeid(LoopSolver<VectorType>)) {
+    typedef ::LoopSolver<VectorType> DuneSolversLoopSolver;
+
+    if (typeid(*this->basesolver_) == typeid(DuneSolversLoopSolver)) {
 
-        LoopSolver<VectorType>* loopBaseSolver = dynamic_cast<LoopSolver<VectorType>* > (this->basesolver_);
+        DuneSolversLoopSolver* loopBaseSolver = dynamic_cast<DuneSolversLoopSolver*> (this->basesolver_);
      
         typedef LinearIterationStep<OperatorType, VectorType> SmootherType;
         assert(dynamic_cast<SmootherType*>(loopBaseSolver->iterationStep_));
diff --git a/dune-solvers/solvers/loopsolver.cc b/dune-solvers/solvers/loopsolver.cc
index 2e027f4c7188427f772a232a20f0165f466f3495..72c4f303eea7961a0d577cb8a8b76ba91c4cc4b5 100644
--- a/dune-solvers/solvers/loopsolver.cc
+++ b/dune-solvers/solvers/loopsolver.cc
@@ -4,7 +4,7 @@
 #include <iomanip>
 
 template <class VectorType, class BitVectorType>
-void LoopSolver<VectorType, BitVectorType>::check() const
+void ::LoopSolver<VectorType, BitVectorType>::check() const
 {
     if (!iterationStep_)
         DUNE_THROW(SolverError, "You need to supply an iteration step to an iterative solver!");
@@ -16,7 +16,7 @@ void LoopSolver<VectorType, BitVectorType>::check() const
 }
 
 template <class VectorType, class BitVectorType>
-void LoopSolver<VectorType, BitVectorType>::solve()
+void ::LoopSolver<VectorType, BitVectorType>::solve()
 {
 
     int i;