diff --git a/dune/solvers/solvers/trustregionsolver.cc b/dune/solvers/solvers/trustregionsolver.cc
index 806a5f3f4678422295e72e1871f8afcedf0e80d2..d551c10ec4e395fdaed98eacefe69c7a2372d3f8 100644
--- a/dune/solvers/solvers/trustregionsolver.cc
+++ b/dune/solvers/solvers/trustregionsolver.cc
@@ -51,7 +51,7 @@ void TrustRegionSolver<ProblemType,VectorType,MatrixType>::solve()
         // Compute gradient norm to monitor convergence
         VectorType gradient = problem_->f_;
         for (size_t j=0; j<gradient.size(); j++)
-            for (int k=0; k<gradient[j].size(); k++)
+            for (size_t k=0; k<gradient[j].size(); k++)
                 if (mgStep->ignore()[j][k])
                     gradient[j][k] = 0;