diff --git a/src/corelib/kernel/qfunctions_winrt.cpp b/src/corelib/kernel/qfunctions_winrt.cpp
index 84e7b5688f18392839cf436e588e32b626af4a7a..60faead122467e71535c6ef6d5279d863387432f 100644
--- a/src/corelib/kernel/qfunctions_winrt.cpp
+++ b/src/corelib/kernel/qfunctions_winrt.cpp
@@ -37,7 +37,7 @@
 #include "qbytearray.h"
 #include "qhash.h"
 
-QT_USE_NAMESPACE
+QT_BEGIN_NAMESPACE
 
 // Environment ------------------------------------------------------
 inline QHash<QByteArray, QByteArray> &qt_app_environment()
@@ -94,4 +94,6 @@ void qt_winrt__tzset()
 {
 }
 
+QT_END_NAMESPACE
+
 #endif // Q_OS_WINRT
diff --git a/src/corelib/kernel/qfunctions_winrt.h b/src/corelib/kernel/qfunctions_winrt.h
index c8e082795e38a0a245d9e22d5386ffe34f4bb55c..2bec1fc2ff6fbae504255b44c6e5c56c5fcc55e6 100644
--- a/src/corelib/kernel/qfunctions_winrt.h
+++ b/src/corelib/kernel/qfunctions_winrt.h
@@ -64,15 +64,14 @@ QT_BEGIN_NAMESPACE
 #ifdef QT_BUILD_CORE_LIB
 #endif
 
-QT_END_NAMESPACE
-
-
 // Environment ------------------------------------------------------
 errno_t qt_winrt_getenv_s(size_t*, char*, size_t, const char*);
 errno_t qt_winrt__putenv_s(const char*, const char*);
 void qt_winrt_tzset();
 void qt_winrt__tzset();
 
+QT_END_NAMESPACE
+
 // As Windows Runtime lacks some standard functions used in Qt, these got
 // reimplemented. Other projects do this as well. Inline functions are used
 // that there is a central place to disable functions for newer versions if
@@ -85,42 +84,42 @@ void qt_winrt__tzset();
 #define generate_inline_return_func0(funcname, returntype) \
         inline returntype funcname() \
         { \
-            return qt_winrt_##funcname(); \
+            return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(); \
         }
 #define generate_inline_return_func1(funcname, returntype, param1) \
         inline returntype funcname(param1 p1) \
         { \
-            return qt_winrt_##funcname(p1); \
+            return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1); \
         }
 #define generate_inline_return_func2(funcname, returntype, param1, param2) \
         inline returntype funcname(param1 p1, param2 p2) \
         { \
-            return qt_winrt_##funcname(p1,  p2); \
+            return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1,  p2); \
         }
 #define generate_inline_return_func3(funcname, returntype, param1, param2, param3) \
         inline returntype funcname(param1 p1, param2 p2, param3 p3) \
         { \
-            return qt_winrt_##funcname(p1,  p2, p3); \
+            return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1,  p2, p3); \
         }
 #define generate_inline_return_func4(funcname, returntype, param1, param2, param3, param4) \
         inline returntype funcname(param1 p1, param2 p2, param3 p3, param4 p4) \
         { \
-            return qt_winrt_##funcname(p1,  p2, p3, p4); \
+            return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1,  p2, p3, p4); \
         }
 #define generate_inline_return_func5(funcname, returntype, param1, param2, param3, param4, param5) \
         inline returntype funcname(param1 p1, param2 p2, param3 p3, param4 p4, param5 p5) \
         { \
-            return qt_winrt_##funcname(p1,  p2, p3, p4, p5); \
+            return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1,  p2, p3, p4, p5); \
         }
 #define generate_inline_return_func6(funcname, returntype, param1, param2, param3, param4, param5, param6) \
         inline returntype funcname(param1 p1, param2 p2, param3 p3, param4 p4, param5 p5, param6 p6) \
         { \
-            return qt_winrt_##funcname(p1,  p2, p3, p4, p5, p6); \
+            return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1,  p2, p3, p4, p5, p6); \
         }
 #define generate_inline_return_func7(funcname, returntype, param1, param2, param3, param4, param5, param6, param7) \
         inline returntype funcname(param1 p1, param2 p2, param3 p3, param4 p4, param5 p5, param6 p6, param7 p7) \
         { \
-            return qt_winrt_##funcname(p1,  p2, p3, p4, p5, p6, p7); \
+            return QT_PREPEND_NAMESPACE(qt_winrt_##funcname)(p1,  p2, p3, p4, p5, p6, p7); \
         }
 
 typedef unsigned (__stdcall *StartAdressExFunc)(void *);
@@ -132,6 +131,8 @@ generate_inline_return_func2(_putenv_s, errno_t, const char *, const char *)
 generate_inline_return_func0(tzset, void)
 generate_inline_return_func0(_tzset, void)
 
+QT_BEGIN_NAMESPACE
+
 namespace Microsoft { namespace WRL { template <typename T> class ComPtr; } }
 
 namespace QWinRTFunctions {
@@ -205,6 +206,8 @@ static inline HRESULT await(const Microsoft::WRL::ComPtr<T> &asyncOp, U *results
 
 } // QWinRTFunctions
 
+QT_END_NAMESPACE
+
 #endif // Q_OS_WINRT
 
 #endif // Q_OS_WIN