diff --git a/istl/overlappingschwarz.hh b/istl/overlappingschwarz.hh
index 5739be7292d04422403f79a55e5939f75ab596a2..59e8163c723aa7d693ee48ca29d56c47d89af2e2 100644
--- a/istl/overlappingschwarz.hh
+++ b/istl/overlappingschwarz.hh
@@ -127,7 +127,7 @@ namespace Dune
       BlockVector<FieldVector<T,n>,A>* v;
       BlockVector<FieldVector<T,n>,A>* x;
       T relax;
-      int i;
+      size_type i;
     };
 
     template<typename T>
@@ -147,7 +147,7 @@ namespace Dune
       BlockVector<FieldVector<T,n>,A>* v;
       BlockVector<FieldVector<T,n>,A>* x;
       T relax;
-      int i;
+      size_type i;
     };
 
 
@@ -386,7 +386,7 @@ namespace Dune
       T* rhs;
       const BlockVector<FieldVector<T,n>,A>* b;
       const BlockVector<FieldVector<T,n>,A>* x;
-      int i;
+      size_type i;
     };
 
   };
@@ -718,7 +718,7 @@ namespace Dune
       for(size_type j=0; j<n; ++j, ++i)
         rhs[i]-=tmp[j];
     }
-    assert(starti+n==i);
+    assert(starti+static_cast<size_type>(n)==i);
   }
   namespace
   {