diff --git a/common/typetraits.hh b/common/typetraits.hh
index 7ad8498b186a0d68274c4a8085bcbe8c1a238c2a..8a31705d7d482c43d550189fe7826849a23ad24b 100644
--- a/common/typetraits.hh
+++ b/common/typetraits.hh
@@ -3,10 +3,10 @@
 #ifndef DUNE_TYPETRAITS_HH
 #define DUNE_TYPETRAITS_HH
 
-#ifdef HAVE_TR1_TYPE_TRAITS
-#include <tr1/type_traits>
-#elif defined HAVE_TYPE_TRAITS
+#if defined HAVE_TYPE_TRAITS
 #include <type_traits>
+#elif defined HAVE_TR1_TYPE_TRAITS
+#include <tr1/type_traits>
 #endif
 
 #include <dune/common/deprecated.hh>
@@ -157,12 +157,11 @@ namespace Dune
     typedef volatile typename ConstantVolatileTraits<T>::UnqualifiedType Type;
   };
 
-#ifdef HAVE_TR1_TYPE_TRAITS
-  using std::tr1::remove_const;
-#elif defined HAVE_TYPE_TRAITS
+#if defined HAVE_TYPE_TRAITS
   using std::remove_const;
+#elif defined HAVE_TR1_TYPE_TRAITS
+  using std::tr1::remove_const;
 #else
-
   /**
    * @brief Removes a const qualifier while preserving others.
    */
@@ -303,10 +302,10 @@ namespace Dune
     : public EnableIf<IsInteroperable<T1,T2>::value, Type>
   {};
 
-#ifdef HAVE_TR1_TYPE_TRAITS
-  using std::tr1::is_same;
-#elif defined HAVE_TYPE_TRAITS
+#if defined HAVE_TYPE_TRAITS
   using std::is_same;
+#elif defined HAVE_TR1_TYPE_TRAITS
+  using std::tr1::is_same;
 #else
   /**
    * @brief Compile time test for testing whether