diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 1e9863a1ccb1101531d334c9946f1b06e12eca55..334c3403a479f9c52bc4f24377b7b2dc572fd2c5 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -506,9 +506,8 @@ int main(int argc, char *argv[]) {
             E, nu, gridDisplacement);
         p0Assembler.assembleFunctional(localStressAssembler, vonMisesStress);
 
-        writeVtk<P1Basis, P0Basis, VectorType, SingletonVectorType, GridView>(
-            p1Basis, u, alpha, p0Basis, vonMisesStress, leafView,
-            (boost::format("obs%d") % run).str());
+        writeVtk(p1Basis, u, alpha, p0Basis, vonMisesStress,
+                 (boost::format("obs%d") % run).str());
       }
     }
     if (parset.get<bool>("enableTimer"))
diff --git a/src/vtk.cc b/src/vtk.cc
index b92b06166ec6af162071d0f20fce55e85751bddb..e2520307280de26f31e0e304d86d0620af195d3b 100644
--- a/src/vtk.cc
+++ b/src/vtk.cc
@@ -5,12 +5,12 @@
 #include "vtk.hh"
 
 template <class VertexBasis, class CellBasis, class VectorType,
-          class SingletonVectorType, class GridView>
+          class SingletonVectorType>
 void writeVtk(VertexBasis const &vertexBasis, VectorType const &displacement,
               SingletonVectorType const &state, CellBasis const &cellBasis,
-              SingletonVectorType const &stress, GridView const &gridView,
-              std::string const &filename) {
-  Dune::VTKWriter<GridView> writer(gridView);
+              SingletonVectorType const &stress, std::string const &filename) {
+  Dune::VTKWriter<typename VertexBasis::GridView> writer(
+      vertexBasis.getGridView());
 
   auto const displacement_ptr =
       Dune::make_shared<VTKBasisGridFunction<VertexBasis, VectorType> const>(
diff --git a/src/vtk.hh b/src/vtk.hh
index 9986fe9047c42dd422d41b5b2fcab990e2e49d6f..250de25b2e4fe110b4d07fa7062d667d0ee987bd 100644
--- a/src/vtk.hh
+++ b/src/vtk.hh
@@ -7,10 +7,9 @@
 #include <dune/fufem/functions/vtkbasisgridfunction.hh>
 
 template <class VertexBasis, class CellBasis, class VectorType,
-          class SingletonVectorType, class GridView>
+          class SingletonVectorType>
 void writeVtk(VertexBasis const &vertexBasis, VectorType const &displacement,
               SingletonVectorType const &state, CellBasis const &cellBasis,
-              SingletonVectorType const &stress, GridView const &gridView,
-              std::string const &filename);
+              SingletonVectorType const &stress, std::string const &filename);
 
 #endif
diff --git a/src/vtk_tmpl.cc b/src/vtk_tmpl.cc
index 4f85e063e12722bda0303526c92195fa61484b21..9347e7b587e973d7a5ccfa0222d0f1e89dc99175 100644
--- a/src/vtk_tmpl.cc
+++ b/src/vtk_tmpl.cc
@@ -21,11 +21,7 @@ using GridView = GridType::LeafGridView;
 using P1Basis = P1NodalBasis<GridView, double>;
 using MyP0Basis = P0Basis<GridView, double>;
 
-template void writeVtk<P1Basis, MyP0Basis, VectorType, SingletonVectorType,
-                       GridView>(P1Basis const &vertexBasis,
-                                 VectorType const &displacement,
-                                 SingletonVectorType const &state,
-                                 MyP0Basis const &cellBasis,
-                                 SingletonVectorType const &stress,
-                                 GridView const &gridView,
-                                 std::string const &filename);
+template void writeVtk<P1Basis, MyP0Basis, VectorType, SingletonVectorType>(
+    P1Basis const &vertexBasis, VectorType const &displacement,
+    SingletonVectorType const &state, MyP0Basis const &cellBasis,
+    SingletonVectorType const &stress, std::string const &filename);