diff --git a/dune/vtk/gridcreators/lagrangegridcreator.hh b/dune/vtk/gridcreators/lagrangegridcreator.hh
index 4f183784d6a8db695a1664a4ade9fa6f73778b96..99634dc5465e7888a01f79faf023cf0f17453e13 100644
--- a/dune/vtk/gridcreators/lagrangegridcreator.hh
+++ b/dune/vtk/gridcreators/lagrangegridcreator.hh
@@ -324,9 +324,11 @@ namespace Dune
         localBasis.evaluateFunction(x, shapeValues_);
         assert(shapeValues_.size() == localNodes_.size());
 
+        using field_type = typename LocalBasisTraits::RangeType::field_type;
+
         GlobalCoordinate out(0);
         for (std::size_t i = 0; i < shapeValues_.size(); ++i)
-          out.axpy(shapeValues_[i], localNodes_[i]);
+          out.axpy(field_type(shapeValues_[i]), localNodes_[i]);
 
         return out;
       }