diff --git a/dune/xt/functions/ESV2007.hh b/dune/xt/functions/ESV2007.hh
index 8548ea4becd1c8877e7496f643fc77d07953041d..26de476a7f08422338a6b2943468a8e8b9b35724 100644
--- a/dune/xt/functions/ESV2007.hh
+++ b/dune/xt/functions/ESV2007.hh
@@ -16,7 +16,9 @@
 #include <type_traits>
 
 #if HAVE_EIGEN
+#include <dune/xt/common/disable_warnings.hh>
 #include <Eigen/Eigenvalues>
+#include <dune/xt/common/reenable_warnings.hh>
 #endif
 
 #include <dune/geometry/referenceelements.hh>
diff --git a/dune/xt/functions/expression/default.hh b/dune/xt/functions/expression/default.hh
index f330e2c8287161e3f2ab5e6955d1d8996593c4fb..822e613091deaae64247b3650c094c4fb3cd7cd0 100644
--- a/dune/xt/functions/expression/default.hh
+++ b/dune/xt/functions/expression/default.hh
@@ -16,11 +16,11 @@
 #include <limits>
 #include <vector>
 
-#include <dune/common/fmatrix.hh>
 #include <dune/common/fvector.hh>
 
 #include <dune/xt/common/configuration.hh>
 #include <dune/xt/common/exceptions.hh>
+#include <dune/xt/common/fmatrix.hh>
 #include <dune/xt/common/parallel/threadstorage.hh>
 
 #include "base.hh"
@@ -31,17 +31,6 @@ namespace XT {
 namespace Functions {
 
 
-// forward, needed for friendliness
-template <class EntityImp,
-          class DomainFieldImp,
-          size_t domainDim,
-          class RangeFieldImp,
-          size_t rangeDim,
-          size_t rangeDimCols,
-          class TimeFieldImp>
-class TimeDependentExpressionFunction;
-
-
 template <class EntityImp,
           class DomainFieldImp,
           size_t domainDim,
@@ -387,7 +376,7 @@ private:
   {
     static void get_expression(const Common::Configuration& cfg, ExpressionStringVectorType& expression_as_vectors)
     {
-      typedef typename Dune::FieldMatrix<std::string, dimRange, dimRangeCols> ExpressionMatrixType;
+      typedef typename XT::Common::FieldMatrix<std::string, dimRange, dimRangeCols> ExpressionMatrixType;
       const ExpressionMatrixType expression_as_matrix =
           cfg.get<ExpressionMatrixType>("expression", dimRange, dimRangeCols);
       // convert FieldMatrix to ExpressionStringVectorType
@@ -426,7 +415,7 @@ private:
     // get gradient as FieldMatrix for every key
     for (std::string key : gradient_keys) {
       ExpressionStringVectorType gradient_as_vectors_component;
-      typedef typename Dune::FieldMatrix<std::string, dimRange, dimDomain> JacobianMatrixType;
+      typedef typename XT::Common::FieldMatrix<std::string, dimRange, dimDomain> JacobianMatrixType;
       const JacobianMatrixType gradient_as_matrix = cfg.get<JacobianMatrixType>(key);
       // convert FieldMatrix to ExpressionStringVectorType
       for (size_t rr = 0; rr < dimRange; ++rr) {
@@ -439,9 +428,6 @@ private:
     }
   } // ... get_gradient(...)
 
-  template <class _E, class _D, size_t _d, class _R, size_t _r, size_t _rC, class _T>
-  friend class TimeDependentExpressionFunction;
-
   std::shared_ptr<const MathExpressionFunctionType> function_;
   size_t order_;
   std::string name_;
diff --git a/dune/xt/functions/random_ellipsoids.hh b/dune/xt/functions/random_ellipsoids.hh
index e17d8b001a20b6f2cfb04c283e3786dc24f59fcd..8257bbf43037cc76a471215aabe25159c6db959a 100644
--- a/dune/xt/functions/random_ellipsoids.hh
+++ b/dune/xt/functions/random_ellipsoids.hh
@@ -17,6 +17,8 @@
 #include <memory>
 #include <vector>
 
+#include <dune/common/unused.hh>
+
 #include <dune/xt/common/configuration.hh>
 #include <dune/xt/common/debug.hh>
 #include <dune/xt/common/exceptions.hh>
@@ -207,6 +209,7 @@ public:
       if (current_level > max_depth)
         return;
       for (const auto unused_counter : Common::value_range(children)) {
+        DUNE_UNUSED_PARAMETER(unused_counter);
         EllipsoidType child = parent;
         const double scale = std::pow(ellipsoid_cfg.get("ellipsoids.recursion_scale", 0.5), current_level);
         const auto displace = [&](DomainFieldType& coord) {