diff --git a/dune/solvers/norms/diagnorm.hh b/dune/solvers/norms/diagnorm.hh
index 4b52c50b44b4bf73fd8b3b3d0e07bde266b22bf5..e3b59e2edfbf51ddf561757650831eefd45c8dd0 100644
--- a/dune/solvers/norms/diagnorm.hh
+++ b/dune/solvers/norms/diagnorm.hh
@@ -12,6 +12,8 @@ typedef Dune::BlockVector<Dune::FieldVector <double,1> > VectorType;
 
 class DiagNorm: public Norm<VectorType>
 {
+        typedef typename VectorType::size_type SizeType;
+
     public:
         DiagNorm(double alpha, const VectorType &d) :
             d(d),
@@ -22,7 +24,7 @@ class DiagNorm: public Norm<VectorType>
         double operator()(const VectorType &v) const {
             double r = 0.0;
 
-            for(int row = 0; row < v.size(); ++row)
+            for(SizeType row = 0; row < v.size(); ++row)
                 r += d[row] * v[row] * v[row];
 
             return sqrt(fabs(alpha * r));
@@ -33,7 +35,7 @@ class DiagNorm: public Norm<VectorType>
         {
             double r = 0.0;
 
-            for(int row = 0; row < v1.size(); ++row)
+            for(SizeType row = 0; row < v1.size(); ++row)
                 r += (double)d[row] * (v1[row]-v2[row]) * (v1[row] - v2[row]);
 
             return sqrt(fabs(alpha * r));
diff --git a/dune/solvers/norms/fullnorm.hh b/dune/solvers/norms/fullnorm.hh
index 8bb3c7226429480e6bfa22217e45725e3329e710..3e849828a8eab493e622b27c132e849521828a30 100644
--- a/dune/solvers/norms/fullnorm.hh
+++ b/dune/solvers/norms/fullnorm.hh
@@ -12,6 +12,8 @@ typedef Dune::BlockVector<Dune::FieldVector<double,1> > Vector;
 
 class FullNorm: public Norm<Vector>
 {
+        typedef typename VectorType::size_type SizeType;
+
     public:
         FullNorm(double alpha, const Vector &m) :
             m(m),
@@ -23,7 +25,7 @@ class FullNorm: public Norm<Vector>
         {
             double r = 0.0;
 
-            for(int row = 0; row < v.size(); ++row)
+            for(SizeType row = 0; row < v.size(); ++row)
                 r += m[row] * v[row];
 
             return sqrt(fabs(alpha*r*r));
@@ -34,7 +36,7 @@ class FullNorm: public Norm<Vector>
         {
             double r = 0.0;
 
-            for(int row = 0; row < v1.size(); ++row)
+            for(SizeType row = 0; row < v1.size(); ++row)
                 r += (double)m[row] * (v1[row] - v2[row]);
 
             return sqrt(fabs(alpha*r*r));