diff --git a/dumux/io/vtkmultiwriter.hh b/dumux/io/vtkmultiwriter.hh
index 44442e818564b41ab402f8bbeaf72c46396603c1..187fe38d94df08b1e4c2faee3de7378cec8e7ca6 100644
--- a/dumux/io/vtkmultiwriter.hh
+++ b/dumux/io/vtkmultiwriter.hh
@@ -23,6 +23,12 @@
 #ifndef VTK_MULTI_WRITER_HH
 #define VTK_MULTI_WRITER_HH
 
+#include <iostream>
+#include <limits>
+#include <list>
+#include <memory>
+#include <string>
+
 #include "vtknestedfunction.hh"
 
 #include <dune/common/fvector.hh>
@@ -36,12 +42,6 @@
 #include <mpi.h>
 #endif
 
-#include <list>
-#include <iostream>
-#include <string>
-
-#include <limits>
-
 namespace Dumux {
 /*!
  * \brief Simplifies writing multi-file VTK datasets.
@@ -177,7 +177,7 @@ public:
     {
         sanitizeBuffer_(buf, nComps);
 
-        typedef typename VtkWriter::VTKFunctionPtr FunctionPtr;
+        using FunctionPtr = std::shared_ptr<const typename VtkWriter::VTKFunction>;
         typedef Dumux::VtkNestedFunction<GridView, VertexMapper, DataBuffer> VtkFn;
         FunctionPtr fnPtr(new VtkFn(name,
                                     gridView_,
@@ -208,7 +208,7 @@ public:
     {
         sanitizeBuffer_(buf, nComps);
 
-        typedef typename VtkWriter::VTKFunctionPtr FunctionPtr;
+        using FunctionPtr = std::shared_ptr<const typename VtkWriter::VTKFunction>;
         typedef Dumux::VtkNestedFunction<GridView, ElementMapper, DataBuffer> VtkFn;
         FunctionPtr fnPtr(new VtkFn(name,
                                     gridView_,