diff --git a/dune/subgrid/subgrid/subgridindexstorage.hh b/dune/subgrid/subgrid/subgridindexstorage.hh
index 4fa95fb60b0a5fff5f012b0705907e9da55dc898..a63387ed07fdaad3290bf38a9dde6cf7b7128d68 100644
--- a/dune/subgrid/subgrid/subgridindexstorage.hh
+++ b/dune/subgrid/subgrid/subgridindexstorage.hh
@@ -73,6 +73,7 @@ class SubGridIndexStorageBase
     template <class GridImp_, int EntityDim>
     friend class SubGridMapSubindexSetter;
 
+        using ctype = typename GridType::ctype;
 
     public:
 
@@ -209,7 +210,7 @@ class SubGridIndexStorageBase
         template <int cc>
         GeometryType getSubGeometryType(const typename std::remove_const<GridType>::type::template Codim<cc>::Entity& e, int i, unsigned int codim) const
         {
-            return Dune::ReferenceElements<double,dim>::general(e.type()).type(i,codim);
+            return Dune::ReferenceElements<ctype,dim>::general(e.type()).type(i,codim);
         }