diff --git a/src/vtk.cc b/src/vtk.cc
index fa673533f00296a2ec40ac041ede4980ca2346de..00c4a2fd5b3d1fb8462bf5ba7b19f23d3587c563 100644
--- a/src/vtk.cc
+++ b/src/vtk.cc
@@ -10,19 +10,21 @@ void writeVtk(VertexBasis vertexBasis, VectorType displacement,
               SingletonVectorType state, CellBasis cellBasis,
               SingletonVectorType stress, GridView gridView,
               std::string filename) {
+  Dune::VTKWriter<GridView> writer(gridView);
+
   auto const displacement_ptr =
       Dune::make_shared<VTKBasisGridFunction<VertexBasis, VectorType> const>(
           vertexBasis, displacement, "displacement");
+  writer.addVertexData(displacement_ptr);
+
   auto const state_ptr = Dune::make_shared<
       VTKBasisGridFunction<VertexBasis, SingletonVectorType> const>(
       vertexBasis, state, "state");
+  writer.addVertexData(state_ptr);
+
   auto const vonmises_ptr = Dune::make_shared<
       VTKBasisGridFunction<CellBasis, SingletonVectorType> const>(
       cellBasis, stress, "stress");
-
-  Dune::VTKWriter<GridView> writer(gridView);
-  writer.addVertexData(state_ptr);
-  writer.addVertexData(displacement_ptr);
   writer.addCellData(vonmises_ptr);
 
   writer.write(filename.c_str());