diff --git a/dune/tectonic/globalnonlinearity.hh b/dune/tectonic/globalnonlinearity.hh
index 260982a24dcd1daabb2605884265bc5d93ede3c0..6601f40d245729a85744be052838cbe07c9e78d6 100644
--- a/dune/tectonic/globalnonlinearity.hh
+++ b/dune/tectonic/globalnonlinearity.hh
@@ -60,7 +60,7 @@ class GlobalNonlinearity {
   }
 
   void addHessianIndices(Dune::MatrixIndexSet &indices) const {
-    for (size_t i = 0; i < indices.rows(); ++i)
+    for (int i = 0; i < indices.rows(); ++i)
       indices.add(i, i);
   }
 
diff --git a/dune/tectonic/myblockproblem.hh b/dune/tectonic/myblockproblem.hh
index 7a28b0a567959a09d8160f2e362413bffc47b032..e34a194322ce56eb622fc16fb8bc60d1ea2ec995 100644
--- a/dune/tectonic/myblockproblem.hh
+++ b/dune/tectonic/myblockproblem.hh
@@ -110,7 +110,7 @@ template <class MyConvexProblemTypeTEMPLATE> class MyBlockProblem {
     // determine truncation pattern
     linearization.truncation.resize(u.size());
     linearization.truncation.unsetAll();
-    for (int i = 0; i < u.size(); ++i)
+    for (size_t i = 0; i < u.size(); ++i)
       // TODO: should ignoreNodes be truncated as well?
       if (problem.phi.regularity(i, u[i]) > 1e8) // TODO
         linearization.truncation[i] = true;
@@ -125,7 +125,7 @@ template <class MyConvexProblemTypeTEMPLATE> class MyBlockProblem {
     linearization.A = 0.0;
 
     // compute quadratic part of hessian (linearization.A += problem.A)
-    for (int i = 0; i < problem.A.N(); ++i) {
+    for (size_t i = 0; i < problem.A.N(); ++i) {
       typename MatrixType::row_type::ConstIterator it = problem.A[i].begin();
       typename MatrixType::row_type::ConstIterator end = problem.A[i].end();
       for (; it != end; ++it)
@@ -150,12 +150,12 @@ template <class MyConvexProblemTypeTEMPLATE> class MyBlockProblem {
     // apply truncation to system
     typename Linearization::MatrixType::row_type::Iterator it;
     typename Linearization::MatrixType::row_type::Iterator end;
-    for (int row = 0; row < linearization.A.N(); ++row) {
+    for (size_t row = 0; row < linearization.A.N(); ++row) {
       it = linearization.A[row].begin();
       end = linearization.A[row].end();
       for (; it != end; ++it) {
         int const col = it.index();
-        for (int i = 0; i < it->N(); ++i) {
+        for (size_t i = 0; i < it->N(); ++i) {
           typename Linearization::MatrixType::block_type::row_type::Iterator
           blockIt = (*it)[i].begin();
           typename Linearization::MatrixType::block_type::row_type::