diff --git a/dune/amdis/gridfunctions/Integrate.hpp b/dune/amdis/gridfunctions/Integrate.hpp
index cbab7db7da16dd544655420033cd5d2f72899ddd..f3dc892fd27bfb65dfe3159e779fff5528554689 100644
--- a/dune/amdis/gridfunctions/Integrate.hpp
+++ b/dune/amdis/gridfunctions/Integrate.hpp
@@ -52,7 +52,7 @@ namespace AMDiS
       return 0.0;
 #else
     return Dune::Hybrid::ifElse(bool_<expr_has_order>,
-      [&](auto) { return Impl::integrateImpl(std::forward<decltype(gridFct)>(gridFct), gridView, makeQuad); },
+      [&](auto) { return Impl::integrateImpl(gridFct, gridView, makeQuad); },
       [ ](auto) { return 0.0; });
 #endif
   }
@@ -69,13 +69,14 @@ namespace AMDiS
 
   /// Integrate expression with quadrature rule determined by provided polynomial `degree`
   template <class Expr, class GridView>
-  auto integrate(Expr&& expr, GridView const& gridView, int degree)
+  auto integrate(Expr&& expr, GridView const& gridView, int degree,
+                 Dune::QuadratureType::Enum qt = Dune::QuadratureType::GaussLegendre)
   {
     using QuadratureRules = Dune::QuadratureRules<typename GridView::ctype, GridView::dimension>;
 
     auto&& gridFct = makeGridFunction(std::forward<Expr>(expr), gridView);
     return Impl::integrateImpl(std::forward<decltype(gridFct)>(gridFct), gridView,
-      [&](auto const& type, auto&&) { return QuadratureRules::rule(type, degree); });
+      [&](auto const& type, auto&&) { return QuadratureRules::rule(type, degree, qt); });
   }
 
 } // end namespace AMDiS