diff --git a/dune/vtk/gridcreators/lagrangegridcreator.hh b/dune/vtk/gridcreators/lagrangegridcreator.hh
index 99634dc5465e7888a01f79faf023cf0f17453e13..f21bbdde4c4c58b9d1eb5c28eafad743ea1aa735 100644
--- a/dune/vtk/gridcreators/lagrangegridcreator.hh
+++ b/dune/vtk/gridcreators/lagrangegridcreator.hh
@@ -117,7 +117,7 @@ namespace Dune
           if (!cellType.noPermutation()) {
             // apply index permutation
             std::vector<unsigned int> cell(element.size());
-            for (int j = 0; j < element.size(); ++j)
+            for (std::size_t j = 0; j < element.size(); ++j)
               cell[j] = element[cellType.permutation(j)];
             std::swap(element, cell);
           }
diff --git a/dune/vtk/vtkreader.impl.hh b/dune/vtk/vtkreader.impl.hh
index c3a0bf01d1ff337891f3bc679c43d98ea203927c..308b33dd296cf03a407fed7ec512834213d0d580 100644
--- a/dune/vtk/vtkreader.impl.hh
+++ b/dune/vtk/vtkreader.impl.hh
@@ -397,12 +397,6 @@ VtkReader<Grid,Creator>::readCells (std::ifstream& input, std::string name)
     sec = readDataArray(input, vec_offsets, numberOfCells_, CELLS_DATA_ARRAY, CELLS);
     assert(vec_offsets.size() == numberOfCells_);
   } else if (name == "connectivity") {
-    std::size_t max_size = 0;
-    int max_vertices = (Grid::dimension == 1 ? 2 : Grid::dimension == 2 ? 4 : 8);
-    if (!vec_offsets.empty())
-      max_size = vec_offsets.back();
-    else
-      max_size = numberOfCells_ * max_vertices;
     sec = readDataArray(input, vec_connectivity, std::size_t(-1), CELLS_DATA_ARRAY, CELLS);
   } else if (name == "global_point_ids") {
     sec = readDataArray(input, vec_point_ids, numberOfPoints_, CELLS_DATA_ARRAY, CELLS);