diff --git a/dune/tectonic/myvtkwriter.hh b/dune/tectonic/myvtkwriter.hh
index dea55cb4f3c923ad33d4d944af952884dafd3448..54bd37cb874d4244f923942f37791fa5b5731c19 100644
--- a/dune/tectonic/myvtkwriter.hh
+++ b/dune/tectonic/myvtkwriter.hh
@@ -1,4 +1,5 @@
 // copied from <dune/grid/io/file/vtk/vtkwriter.hh>
+// so that VTKFunctionPtr can be a const pointer
 
 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 // vi: set et ts=4 sw=2 sts=2:
@@ -87,7 +88,7 @@ template <class GridView> class MyVTKWriter {
 
 public:
   typedef Dune::VTKFunction<GridView> VTKFunction;
-  typedef shared_ptr<VTKFunction> VTKFunctionPtr;
+  typedef shared_ptr<VTKFunction const> VTKFunctionPtr;
 
 protected:
   typedef typename std::list<VTKFunctionPtr>::const_iterator FunctionIterator;
diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 35b4d2f3188082ab0195b3a87b4f842486435041..07847e0574a63c5785c48fe42448c2fbaa1530e8 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -374,13 +374,12 @@ int main(int argc, char *argv[]) {
         Dune::MyVTKWriter<GridView> writer(leafView);
         std::string filename((boost::format("obs%d") % run).str());
 
-        // Note: These pointers cannot be const.
         auto const displacement_ptr =
-            Dune::make_shared<VTKBasisGridFunction<P1Basis, VectorType>>(
+            Dune::make_shared<VTKBasisGridFunction<P1Basis, VectorType> const>(
                 p1Basis, u4, "displacement");
-        auto const vonmises_ptr =
-            Dune::make_shared<VTKBasisGridFunction<P0Basis, CellVectorType>>(
-                p0Basis, vonMisesStress, "stress");
+        auto const vonmises_ptr = Dune::make_shared<
+            VTKBasisGridFunction<P0Basis, CellVectorType> const>(
+            p0Basis, vonMisesStress, "stress");
         writer.addVertexData(displacement_ptr);
         writer.addCellData(vonmises_ptr);
         writer.write(filename.c_str());