diff --git a/dune/common/mallocallocator.hh b/dune/common/mallocallocator.hh
index 89083955ad38dd9b0c2d61be9187f8cf36f3509c..daca655b8323e11462a1134d54196afb87c640e2 100644
--- a/dune/common/mallocallocator.hh
+++ b/dune/common/mallocallocator.hh
@@ -79,7 +79,7 @@ namespace Dune
     {
       ::new((void*)p)T(val);
     }
-#if HAVE_VARIADIC_TEMPLATES || DOXYGEN
+#if ( HAVE_VARIADIC_TEMPLATES && HAVE_RVALUE_REFERENCES ) || DOXYGEN
     //! construct an object of type T from variadic parameters
     //! \note works only with newer C++ compilers
     template<typename ... _Args>