diff --git a/dune/matrix-vector/transformmatrix.hh b/dune/matrix-vector/transformmatrix.hh
index 038ee298e50c67fa927f3bf1c381566287a5819d..328f1464269539c063ff3d820b1967cab5a957a0 100644
--- a/dune/matrix-vector/transformmatrix.hh
+++ b/dune/matrix-vector/transformmatrix.hh
@@ -208,7 +208,7 @@ namespace MatrixVector {
         Dune::DiagonalMatrix<FieldType, n>& A, const TransformationMatrix& T1,
         const Dune::DiagonalMatrix<FieldType, n>& B,
         const TransformationMatrix& T2) {
-      for (int k = 0; k < n; k++) {
+      for (size_t k = 0; k < n; k++) {
         for (auto Tki = T1[k].begin(); Tki != T1[k].end(); ++Tki)
           A.diagonal(Tki.index()) +=
               (*Tki) * B.diagonal(k) * T2[k][Tki.index()];
@@ -225,7 +225,7 @@ namespace MatrixVector {
         const TransformationMatrix& T1,
         const Dune::ScaledIdentityMatrix<FieldType, n>& B,
         const TransformationMatrix& T2) {
-      for (int k = 0; k < n; k++)
+      for (size_t k = 0; k < n; k++)
         A.scalar() += T1[k][0] * B.scalar() * T2[k][0];
     }
   };
@@ -278,13 +278,13 @@ namespace MatrixVector {
                               const TransformationMatrix& T2) {
     transformMatrixPattern(A, T1, B, T2);
     A = 0.0;
-    for (int k = 0; k < B.N(); ++k) {
+    for (size_t k = 0; k < B.N(); ++k) {
       for (auto BklIt = B[k].begin(); BklIt != B[k].end(); ++BklIt) {
-        int l = BklIt.index();
+        size_t l = BklIt.index();
         for (auto T1kiIt = T1[k].begin(); T1kiIt != T1[k].end(); ++T1kiIt) {
-          int i = T1kiIt.index();
+          size_t i = T1kiIt.index();
           for (auto T2ljIt = T2[l].begin(); T2ljIt != T2[l].end(); ++T2ljIt) {
-            int j = T2ljIt.index();
+            size_t j = T2ljIt.index();
             MatrixBlockA Aij;
             transformMatrix(Aij, *T1kiIt, *BklIt, *T2ljIt);
             A[i][j] += Aij;
@@ -300,13 +300,13 @@ namespace MatrixVector {
                                      const MatrixB& B,
                                      const TransformationMatrix& T2) {
     Dune::MatrixIndexSet indices(T1.M(), T2.M());
-    for (int k = 0; k < B.N(); ++k) {
+    for (size_t k = 0; k < B.N(); ++k) {
       for (auto BklIt = B[k].begin(); BklIt != B[k].end(); ++BklIt) {
-        int l = BklIt.index();
+        size_t l = BklIt.index();
         for (auto T1kiIt = T1[k].begin(); T1kiIt != T1[k].end(); ++T1kiIt) {
-          int i = T1kiIt.index();
+          size_t i = T1kiIt.index();
           for (auto T2ljIt = T2[l].begin(); T2ljIt != T2[l].end(); ++T2ljIt) {
-            int j = T2ljIt.index();
+            size_t j = T2ljIt.index();
             indices.add(i, j);
           }
         }