diff --git a/dune/vtk/vtkfunction.hh b/dune/vtk/vtkfunction.hh
index d8ce4f9b802d090b1d47bcabbcb334aa1175b583..8fa41f74acfae2efde7b448d731bc779495671c4 100644
--- a/dune/vtk/vtkfunction.hh
+++ b/dune/vtk/vtkfunction.hh
@@ -16,24 +16,6 @@ namespace Dune
   template <class T, int N, int M>
   class FieldMatrix;
 
-  namespace Impl
-  {
-    template <class T, class = void>
-    struct SizeImpl
-        : std::integral_constant<int, 1> {};
-
-    template <class T, int N>
-    struct SizeImpl<FieldVector<T,N>>
-        : std::integral_constant<int, N> {};
-
-    template <class T, int N, int M>
-    struct SizeImpl<FieldMatrix<T,N,M>>
-        : std::integral_constant<int, N*M> {};
-  }
-
-  template <class T>
-  constexpr int sizeOf () { return Impl::SizeImpl<std::decay_t<T>>::value; }
-
 
   /// Wrapper class for functions allowing local evaluations.
   template <class GridView>
@@ -47,6 +29,22 @@ namespace Dune
     template <class F>
     using Range = std::decay_t<decltype(std::declval<F>()(std::declval<Domain>()))>;
 
+  private:
+
+    template <class T, int N>
+    static auto sizeOfImpl (FieldVector<T,N> const&)
+      -> std::integral_constant<int, N> { return {}; }
+
+    template <class T, int N, int M>
+    static auto sizeOfImpl (FieldMatrix<T,N,M> const&)
+      -> std::integral_constant<int, N*M> { return {}; };
+
+    static auto sizeOfImpl (...)
+      -> std::integral_constant<int, 1> { return {}; }
+
+    template <class T>
+    static constexpr int sizeOf () { return decltype(sizeOfImpl(std::declval<T>()))::value; }
+
   public:
     /// Constructor VtkFunction from legacy VTKFunction
     /**
diff --git a/src/test/mixed_element_test.cc b/src/test/mixed_element_test.cc
index 589a105eeb02d13ce548038b31f39a293bb1f82f..0a5b446cb5d5846c3542d26dd3325dc0bc5eb65c 100644
--- a/src/test/mixed_element_test.cc
+++ b/src/test/mixed_element_test.cc
@@ -13,7 +13,10 @@
 #include <dune/common/filledarray.hh>
 #include <dune/common/test/testsuite.hh>
 
+#if HAVE_UG
 #include <dune/grid/uggrid.hh>
+#endif
+
 #include <dune/grid/yaspgrid.hh>
 #include <dune/grid/utility/structuredgridfactory.hh>
 
diff --git a/src/test/parallel_reader_writer_test.cc b/src/test/parallel_reader_writer_test.cc
index a15261b5cb88ffb614c6f990cd2a0ea989493f29..72dd52bbf4aa832381fa056a4097822424a7add3 100644
--- a/src/test/parallel_reader_writer_test.cc
+++ b/src/test/parallel_reader_writer_test.cc
@@ -14,7 +14,10 @@
 #include <dune/common/std/type_traits.hh>
 #include <dune/common/test/testsuite.hh>
 
+#if HAVE_UG
 #include <dune/grid/uggrid.hh>
+#endif
+
 #include <dune/grid/yaspgrid.hh>
 #include <dune/grid/utility/structuredgridfactory.hh>
 
diff --git a/src/test/reader_writer_test.cc b/src/test/reader_writer_test.cc
index f0051fc40e5c43cb129bb4b4e88f170e69e9231c..c7edefb7c7baee5c3e46b8fac5b2948590223e49 100644
--- a/src/test/reader_writer_test.cc
+++ b/src/test/reader_writer_test.cc
@@ -7,13 +7,17 @@
 
 #include <cstring>
 #include <iostream>
+#include <set>
 #include <vector>
 
 #include <dune/common/parallel/mpihelper.hh> // An initializer of MPI
 #include <dune/common/filledarray.hh>
 #include <dune/common/test/testsuite.hh>
 
+#if HAVE_UG
 #include <dune/grid/uggrid.hh>
+#endif
+
 #include <dune/grid/yaspgrid.hh>
 #include <dune/grid/utility/structuredgridfactory.hh>