diff --git a/dune/gdt/basefunctionset/default/product.hh b/dune/gdt/basefunctionset/default/product.hh
index a4d9c655402ab0b7ad5f4b486ea81eb18ae818ec..d1b45a36a9863c380e55563aea414955c349684b 100644
--- a/dune/gdt/basefunctionset/default/product.hh
+++ b/dune/gdt/basefunctionset/default/product.hh
@@ -154,7 +154,8 @@ class ProductBaseFunctionSet
                                       typename std::tuple_element<0, std::tuple<BaseFunctionSetImps...>>::type::
                                           DomainFieldType,
                                       std::tuple_element<0, std::tuple<BaseFunctionSetImps...>>::type::dimDomain,
-                                      std::tuple_element<0, std::tuple<BaseFunctionSetImps...>>::type::RangeFieldType,
+                                      typename std::tuple_element<0, std::tuple<BaseFunctionSetImps...>>::type::
+                                          RangeFieldType,
                                       internal::SumDimRange<BaseFunctionSetImps...>::dimRange, 1>
 {
   typedef ProductBaseFunctionSet<BaseFunctionSetImps...> ThisType;
diff --git a/dune/gdt/mapper/default/product.hh b/dune/gdt/mapper/default/product.hh
index c3eba40faffe3349f6ad38551228994695d31997..eb5d277b5a2a63a644ffd0b49038834e1f3860c0 100644
--- a/dune/gdt/mapper/default/product.hh
+++ b/dune/gdt/mapper/default/product.hh
@@ -144,12 +144,12 @@ public:
   // These methods are required by the ProductMapperInterface
   size_t numDofs(const size_t factor_index, const EntityType& entity) const
   {
-    return DSC::DynamicTupleGetter<0>::numDofs(mappers_, factor_index, entity);
+    return internal::DynamicTupleGetter<0>::numDofs(mappers_, factor_index, entity);
   }
 
   size_t maxNumDofs(const size_t factor_index) const
   {
-    return DSC::DynamicTupleGetter<0>::maxNumDofs(mappers_, factor_index);
+    return internal::DynamicTupleGetter<0>::maxNumDofs(mappers_, factor_index);
   }
 
   void globalIndices(const size_t factor_index, const EntityType& entity, Dune::DynamicVector<size_t>& ret) const
@@ -167,7 +167,7 @@ public:
     for (size_t ii = 0; ii < factor_index; ++ii)
       first_global_index_of_factor += size(ii);
     return first_global_index_of_factor
-           + DSC::DynamicTupleGetter<0>::mapToGlobal(mappers_, factor_index, entity, local_index_in_factor);
+           + internal::DynamicTupleGetter<0>::mapToGlobal(mappers_, factor_index, entity, local_index_in_factor);
   }
 
   size_t mapToLocal(const size_t factor_index, const EntityType& entity, const size_t& local_index_in_factor) const
@@ -185,7 +185,7 @@ public:
 
   size_t size(const size_t factor_index) const
   {
-    return DSC::DynamicTupleGetter<0>::size(mappers_, factor_index);
+    return internal::DynamicTupleGetter<0>::size(mappers_, factor_index);
   }
 
   size_t size() const
diff --git a/dune/gdt/playground/timestepper/rosenbrock-type.hh b/dune/gdt/playground/timestepper/rosenbrock-type.hh
index 8f592391036819248d79880061240595905b40dc..03af6a0abee86296d3f69800cbf2c756a9fdd02e 100644
--- a/dune/gdt/playground/timestepper/rosenbrock-type.hh
+++ b/dune/gdt/playground/timestepper/rosenbrock-type.hh
@@ -234,7 +234,8 @@ public:
     assert(DSC::FloatCmp::ge(scale_factor_max_, 1.0));
     assert(A_.rows() == A_.cols() && "A has to be a square matrix");
     assert(Gamma_.rows() == Gamma_.cols() && "Gamma has to be a square matrix");
-    assert(Gamma_.rows() == A_.rows() && "Sizes of A and Gamma have to match!") assert(b_1.size() == A_.rows());
+    assert(Gamma_.rows() == A_.rows() && "Sizes of A and Gamma have to match!");
+    assert(b_1.size() == A_.rows());
     assert(b_2.size() == A_.rows());
     assert(c_.size() == A_.rows());
 #ifndef NDEBUG
diff --git a/dune/gdt/spaces/fv/defaultproduct.hh b/dune/gdt/spaces/fv/defaultproduct.hh
index ea44819d266da8042fa41a17917d20e072a4edc6..82e78da761b3002de11b0d06f716fd74ecb86264 100644
--- a/dune/gdt/spaces/fv/defaultproduct.hh
+++ b/dune/gdt/spaces/fv/defaultproduct.hh
@@ -79,6 +79,7 @@ public:
   {
   }
 
+  DefaultProduct(const ThisType& other) = default;
   DefaultProduct(ThisType&& source) = default;
 
   ThisType& operator=(const ThisType& other) = delete;
diff --git a/dune/gdt/spaces/product.hh b/dune/gdt/spaces/product.hh
index d34a24f71f7b0cde0fb92191f68b08840d126536..e0ef240473acdcf29c2bcbc4c6d8df201aa69498 100644
--- a/dune/gdt/spaces/product.hh
+++ b/dune/gdt/spaces/product.hh
@@ -14,6 +14,8 @@
 
 #include <dune/gdt/basefunctionset/default/product.hh>
 #include <dune/gdt/mapper/default/product.hh>
+#include <dune/gdt/spaces/cg.hh>
+#include <dune/gdt/spaces/parallel.hh>
 
 #include "interface.hh"
 
@@ -181,8 +183,6 @@ private:
 }; // class DefaultProductSpace
 
 
-#include <dune/gdt/spaces/cg.hh>
-
 template <class GridViewImp, int polynomialOrder, size_t domainDim, class RangeFieldImp>
 class TaylorHoodSpace : public ProductSpace<CG::PdelabBased<GridViewImp, polynomialOrder, RangeFieldImp, domainDim, 1>,
                                             CG::PdelabBased<GridViewImp, polynomialOrder - 1, RangeFieldImp, 1, 1>>