diff --git a/dune/matrix-vector/transformmatrix.hh b/dune/matrix-vector/transformmatrix.hh
index eb74e8b064e06ee00c6a8537d716d77fae9d6a11..3a81411771a92e59069b6aaaac38ebadf4476539 100644
--- a/dune/matrix-vector/transformmatrix.hh
+++ b/dune/matrix-vector/transformmatrix.hh
@@ -285,20 +285,16 @@ namespace MatrixVector {
                               const TransformationMatrix2& T2) {
     transformMatrixPattern(A, T1, B, T2);
     A = 0.0;
-    for (size_t k = 0; k < B.N(); ++k) {
-      for (auto BklIt = B[k].begin(); BklIt != B[k].end(); ++BklIt) {
-        size_t l = BklIt.index();
-        for (auto T1kiIt = T1[k].begin(); T1kiIt != T1[k].end(); ++T1kiIt) {
-          size_t i = T1kiIt.index();
-          for (auto T2ljIt = T2[l].begin(); T2ljIt != T2[l].end(); ++T2ljIt) {
-            size_t j = T2ljIt.index();
+    for (size_t k = 0; k < B.N(); ++k)
+      for (auto BkIt = B[k].begin(); BkIt != B[k].end(); ++BkIt) {
+        size_t l = BkIt.index();
+        for (auto T1kIt = T1[k].begin(); T1kIt != T1[k].end(); ++T1kIt)
+          for (auto T2lIt = T2[l].begin(); T2lIt != T2[l].end(); ++T2lIt) {
             MatrixBlockA Aij;
-            transformMatrix(Aij, *T1kiIt, *BklIt, *T2ljIt);
-            A[i][j] += Aij;
+            transformMatrix(Aij, *T1kIt, *BkIt, *T2lIt);
+            A[T1kIt.index()][T2lIt.index()] += Aij;
           }
-        }
       }
-    }
   }
 
   template <class MatrixBlockA, class TransformationMatrix1, class MatrixB,
@@ -308,18 +304,13 @@ namespace MatrixVector {
                                      const MatrixB& B,
                                      const TransformationMatrix2& T2) {
     Dune::MatrixIndexSet indices(T1.M(), T2.M());
-    for (size_t k = 0; k < B.N(); ++k) {
-      for (auto BklIt = B[k].begin(); BklIt != B[k].end(); ++BklIt) {
-        size_t l = BklIt.index();
-        for (auto T1kiIt = T1[k].begin(); T1kiIt != T1[k].end(); ++T1kiIt) {
-          size_t i = T1kiIt.index();
-          for (auto T2ljIt = T2[l].begin(); T2ljIt != T2[l].end(); ++T2ljIt) {
-            size_t j = T2ljIt.index();
-            indices.add(i, j);
-          }
-        }
+    for (size_t k = 0; k < B.N(); ++k)
+      for (auto BIt = B[k].begin(); BIt != B[k].end(); ++BIt) {
+        size_t l = BIt.index();
+        for (auto T1kIt = T1[k].begin(); T1kIt != T1[k].end(); ++T1kIt)
+          for (auto T2lIt = T2[l].begin(); T2lIt != T2[l].end(); ++T2lIt)
+            indices.add(T1kIt.index(), T2lIt.index());
       }
-    }
     indices.exportIdx(A);
   }
 }