diff --git a/dune/common/typetraits.hh b/dune/common/typetraits.hh
index 176a06b8ddc9d4080f6e1da00dd29b1df34ac2d2..1e3e6ff4802e1af781eea1e7efcd9335b79b1396 100644
--- a/dune/common/typetraits.hh
+++ b/dune/common/typetraits.hh
@@ -183,7 +183,8 @@ namespace Dune
     struct Big {char dummy[2];};
     static Small test(To);
     static Big test(...);
-    static From makeFrom();
+    static typename TypeTraits< From >::ReferredType &makeFrom ();
+
   public:
     enum {
       /** @brief True if the conversion exists. */