diff --git a/src/explicitgrid.hh b/src/explicitgrid.hh
index ee691f0844ec60caa4463d77a1dc664a81269a9c..fcbac18c87899ff24f3bc5878eab8f5557ea125d 100644
--- a/src/explicitgrid.hh
+++ b/src/explicitgrid.hh
@@ -1,15 +1,7 @@
 #ifndef SRC_EXPLICITGRID_HH
 #define SRC_EXPLICITGRID_HH
 
-#if !HAVE_ALUGRID
-#error ALUGRID is required
-#endif
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wignored-qualifiers"
-#include <dune/grid/alugrid.hh>
-#pragma clang diagnostic pop
+#include "gridselector.hh"
 
-using Grid = Dune::ALUGrid<MY_DIM, MY_DIM, Dune::simplex, Dune::nonconforming>;
 using GridView = Grid::LeafGridView;
 #endif
diff --git a/src/gridselector.hh b/src/gridselector.hh
new file mode 100644
index 0000000000000000000000000000000000000000..0940e87a2b4af9f71ebc2d6d72eee75fcb569cfc
--- /dev/null
+++ b/src/gridselector.hh
@@ -0,0 +1,24 @@
+#ifndef MY_DIM
+#error MY_DIM unset
+#endif
+
+#define WANT_ALUGRID 0
+
+#define WANT_GRID WANT_ALUGRID
+
+#if WANT_GRID == WANT_ALUGRID
+
+#if !HAVE_ALUGRID
+#error ALUGRID was requested but not found
+#endif
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wignored-qualifiers"
+#include <dune/grid/alugrid.hh>
+#pragma clang diagnostic pop
+using Grid = Dune::ALUGrid<MY_DIM, MY_DIM, Dune::simplex, Dune::nonconforming>;
+
+#else
+
+#error requested a grid that does not exist
+
+#endif
diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc
index 74d93ab0472af6d4e2384c1fab6be03ac5a513d4..0dfdc6f0d0de350db42e9704186387fd442f953e 100644
--- a/src/sand-wedge.cc
+++ b/src/sand-wedge.cc
@@ -16,14 +16,6 @@
 #error datadir unset
 #endif
 
-#ifndef MY_DIM
-#error MY_DIM unset
-#endif
-
-#if !HAVE_ALUGRID
-#error ALUGRID is required
-#endif
-
 #include <cmath>
 #include <exception>
 #include <fstream>
@@ -38,11 +30,6 @@
 #include <dune/common/parametertree.hh>
 #include <dune/common/parametertreeparser.hh>
 
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wignored-qualifiers"
-#include <dune/grid/alugrid.hh>
-#pragma clang diagnostic pop
-
 #include <dune/grid/common/mcmgmapper.hh>
 #include <dune/istl/bcrsmatrix.hh>
 #include <dune/istl/bvector.hh>
@@ -74,6 +61,7 @@
 #include "enums.hh"
 #include "fixedpointiterator.hh"
 #include "friction_writer.hh"
+#include "gridselector.hh"
 #include "sand-wedge-data/mybody.hh"
 #include "sand-wedge-data/mygeometry.hh"
 #include "sand-wedge-data/myglobalfrictiondata.hh"
@@ -103,7 +91,6 @@ int main(int argc, char *argv[]) {
     MyGeometry::write();
 
     // {{{ Set up grid
-    using Grid = Dune::ALUGrid<dims, dims, Dune::simplex, Dune::nonconforming>;
     GridConstructor<Grid> gridConstructor;
     auto grid = gridConstructor.getGrid();