diff --git a/alib2std/src/extensions/type_traits.hpp b/alib2std/src/extensions/type_traits.hpp
index 05e27fdb6ba16ab9fd12198ad705c0fc920e5019..248894d231fd602de2d71a1263372aee0abfa97e 100644
--- a/alib2std/src/extensions/type_traits.hpp
+++ b/alib2std/src/extensions/type_traits.hpp
@@ -9,6 +9,7 @@
 #define __TYPE_TRAITS_HPP_
 
 #include <type_traits>
+#include <utility>
 
 namespace std {
 
@@ -29,7 +30,7 @@ namespace std {
 		typedef char (&No)[2];
 
 		template<class U>
-		static Yes test(U * data, typename std::enable_if< std::is_pointer<decltype(data->normalize())>::value>::type * = 0);
+		static Yes test(U * data, typename std::enable_if< std::is_pointer<decltype(std::move ( * data ).normalize())>::value>::type * = 0);
 		static No test(...);
 		static const bool value = sizeof(Yes) == sizeof(has_normalize::test((typename std::remove_reference<T>::type*)0));
 	};