diff --git a/dune/foamgrid/test/foamgrid-test.cc b/dune/foamgrid/test/foamgrid-test.cc
index b93bc918738c37e8c26caac39c9f1cfa38241c69..20dfbb4b80cd9d4ad91b5b8f39c897dbe7a1d95f 100644
--- a/dune/foamgrid/test/foamgrid-test.cc
+++ b/dune/foamgrid/test/foamgrid-test.cc
@@ -291,6 +291,20 @@ int main (int argc, char *argv[]) try
         std::cout << "  Check if has multiple neighbor functionality" << std::endl;
         traversal(*gridStar);
     }
+    {
+        std::cout << "\n################################################\n";
+        std::cout << "Checking FoamGrid<2, 3, float> (2d in 3d grid with float coordinates)\n";
+        std::cout << "################################################\n\n";
+
+        std::cout << "  Creating grid" << std::endl;
+        std::shared_ptr<FoamGrid<2, 3, float>> grid3d( make2Din3DHybridTestGrid<FoamGrid<2, 3, float> >() );
+
+        std::cout << "  Calling gridcheck" << std::endl;
+        gridcheck(*grid3d);
+
+        std::cout << "  Calling checkIntersectionIterator" << std::endl;
+        checkIntersectionIterator(*grid3d);
+    }
 }
 // //////////////////////////////////
 //   Error handler
diff --git a/dune/foamgrid/test/make2din3dgrid.hh b/dune/foamgrid/test/make2din3dgrid.hh
index 385a8853fe9b0d9112eb6d9727e0d08cbead7118..a84ed7a85ac5edd151dc83356f313d5692e91bd4 100644
--- a/dune/foamgrid/test/make2din3dgrid.hh
+++ b/dune/foamgrid/test/make2din3dgrid.hh
@@ -25,7 +25,8 @@ ToUniquePtr<GridType> make2Din3DHybridTestGrid()
     // The list of grid vertex positions
     int numVertices = 16;
 
-    double vertices[16][3] = {{0,    0,    0},
+    using ctype = typename GridType::ctype;
+    ctype vertices[16][3] =  {{0,    0,    0},
                               {0.5,  0,    0},
                               {0.5,  0.5,  0},
                               {0,    0.5,  0},
@@ -44,7 +45,7 @@ ToUniquePtr<GridType> make2Din3DHybridTestGrid()
 
     // Create the grid vertices
     for (int i=0; i<numVertices; i++) {
-        Dune::FieldVector<double,3> pos;
+        Dune::FieldVector<ctype,3> pos;
         pos[0] = vertices[i][0];
         pos[1] = vertices[i][1];
         pos[2] = vertices[i][2];