diff --git a/dune/solvers/iterationsteps/mmgstep.cc b/dune/solvers/iterationsteps/mmgstep.cc
index 470f5a5987a7ebf33131e05f4693271b0dc271c6..456a5f9b0ea7cebef267472cb0e2ed4d25dea57a 100644
--- a/dune/solvers/iterationsteps/mmgstep.cc
+++ b/dune/solvers/iterationsteps/mmgstep.cc
@@ -66,9 +66,9 @@ preprocess()
     for (size_t i=0; i<obstacleHierarchy_.size()-1; i++)
         obstacleHierarchy_[i] = new ObstacleVectorType();
 
-    if (typeid(*this->basesolver_) == typeid(LoopSolver<VectorType>)) {
+    if (typeid(*this->basesolver_) == typeid(::LoopSolver<VectorType>)) {
 
-        LoopSolver<VectorType>* loopBaseSolver = dynamic_cast<LoopSolver<VectorType>* > (this->basesolver_);
+        ::LoopSolver<VectorType>* loopBaseSolver = dynamic_cast<::LoopSolver<VectorType>* > (this->basesolver_);
      
         typedef ProjectedBlockGSStep<MatrixType, VectorType> SmootherType;
         
diff --git a/dune/solvers/iterationsteps/obstacletnnmgstep.hh b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
index edbcd6193cfecb766aca1db7179a62c7072e76b0..ce21fcb41031f863b8fbb2ba7ecd71b8551ec762 100644
--- a/dune/solvers/iterationsteps/obstacletnnmgstep.hh
+++ b/dune/solvers/iterationsteps/obstacletnnmgstep.hh
@@ -74,7 +74,7 @@ class ObstacleTNNMGStep
         typedef TruncatedBlockGSStep<Matrix, Vector> LinearSmoother;
         typedef MultigridStep<Matrix, Vector, BitVector> LinearMultigridStep;
         typedef EnergyNorm<Matrix, Vector> LinearBaseSolverEnergyNorm;
-        typedef LoopSolver<Vector> LinearBaseSolver;
+        typedef ::LoopSolver<Vector> LinearBaseSolver;
 
     public:
 
diff --git a/dune/solvers/solvers/loopsolver.cc b/dune/solvers/solvers/loopsolver.cc
index 296130c80068d51e8d7f33af0aaa0aa1d1118f9c..96ab9c1a9b75031be8338590f3d3e5d875833d0a 100644
--- a/dune/solvers/solvers/loopsolver.cc
+++ b/dune/solvers/solvers/loopsolver.cc
@@ -20,13 +20,13 @@ void ::LoopSolver<VectorType, BitVectorType>::check() const
 }
 
 template <class VectorType, class BitVectorType>
-void LoopSolver<VectorType, BitVectorType>::preprocess()
+void ::LoopSolver<VectorType, BitVectorType>::preprocess()
 {
     this->iterationStep_->preprocess();
 }
 
 template <class VectorType, class BitVectorType>
-void LoopSolver<VectorType, BitVectorType>::solve()
+void ::LoopSolver<VectorType, BitVectorType>::solve()
 {
 
     int i;
diff --git a/dune/solvers/test/cgsteptest.cc b/dune/solvers/test/cgsteptest.cc
index 5734429a6dab0da186a5b8edeb4deaa94ff531f0..e88134b9234007b9a9a1a0e6710b9cb41edd0071 100644
--- a/dune/solvers/test/cgsteptest.cc
+++ b/dune/solvers/test/cgsteptest.cc
@@ -117,7 +117,7 @@ struct CGTestSuite
         // Test 3: Dune::Solvers::CGStep (dune-solvers)
         {
             Dune::Solvers::CGStep<Matrix,Vector> cgStep(A, u3, rhs3);
-            LoopSolver<Vector> solver(&cgStep, maxIterations, stepTol, &energyNorm,
+            ::LoopSolver<Vector> solver(&cgStep, maxIterations, stepTol, &energyNorm,
                                       Solver::QUIET, false); // absolute error
             solver.check();
             solver.preprocess();
diff --git a/dune/solvers/test/mmgtest.cc b/dune/solvers/test/mmgtest.cc
index 2dd4ed229a40bec42f5803a65a200b03191ad790..c9ae6c11e553183513c6449411c74193459990b7 100644
--- a/dune/solvers/test/mmgtest.cc
+++ b/dune/solvers/test/mmgtest.cc
@@ -98,7 +98,7 @@ void solveObstacleProblemByMMGSolver(const GridType& grid, const MatrixType& mat
 
     EnergyNorm<MatrixType,VectorType>* h1SemiNorm = new EnergyNorm<MatrixType,VectorType>(mat);
 
-    LoopSolver<VectorType> solver (mmgStep,
+    ::LoopSolver<VectorType> solver (mmgStep,
                                    100,    // iterations
                                    1e-6,   // tolerance
                                    h1SemiNorm,
diff --git a/dune/solvers/test/multigridtest.cc b/dune/solvers/test/multigridtest.cc
index a0d7206abf5a18950d3654b01b01c7b0dd71ab37..f07a5c946e2a00eb1603375462fd4fa6272b5586 100644
--- a/dune/solvers/test/multigridtest.cc
+++ b/dune/solvers/test/multigridtest.cc
@@ -81,7 +81,7 @@ struct MultigridTestSuite
                     u[i][j] = u_ex[i][j];
 
         typedef EnergyNorm<Matrix, Vector> Norm;
-        typedef LoopSolver<Vector> Solver;
+        typedef ::LoopSolver<Vector> Solver;
         typedef MultigridStep<Matrix, Vector, BitVector> MGStep;
         typedef MultigridTransfer<Vector, BitVector, Matrix> Transfer;
         typedef CompressedMultigridTransfer<Vector, BitVector, Matrix> TransferImplementation;
diff --git a/dune/solvers/test/obstacletnnmgtest.cc b/dune/solvers/test/obstacletnnmgtest.cc
index a3ba631b91137f1b6c03ae0a5771782c29262389..af9c067c86a3054b824030601d8920558b89c574 100644
--- a/dune/solvers/test/obstacletnnmgtest.cc
+++ b/dune/solvers/test/obstacletnnmgtest.cc
@@ -63,7 +63,7 @@ void solveObstacleProblemByTNNMG(const GridType& grid, const MatrixType& mat, Ve
     typedef VectorType Vector;
     typedef MatrixType Matrix;
     typedef EnergyNorm<Matrix, Vector> Norm;
-    typedef LoopSolver<Vector> Solver;
+    typedef ::LoopSolver<Vector> Solver;
     typedef ObstacleTNNMGStep<Matrix, Vector> TNNMGStep;
     typedef typename TNNMGStep::Transfer Transfer;
     typedef typename TNNMGStep::BoxConstraintVector BoxConstraintVector;