diff --git a/src/ice_transport.cpp b/src/ice_transport.cpp
index 9db5816406b6e3b457ec29eb8aff34040e057aab..361bb47e95def0884a403d43c96094dbe897648b 100644
--- a/src/ice_transport.cpp
+++ b/src/ice_transport.cpp
@@ -56,7 +56,7 @@ register_thread()
 {
     // We have to register the external thread so it could access the pjsip frameworks
     if (!pj_thread_is_registered()) {
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || defined RING_UWP
         static thread_local pj_thread_desc desc;
         static thread_local pj_thread_t *this_thread;
 #else
diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp
index acbce0822cd04fa714c351b975f53e98a5bab6ba..37f37b128760dad0ed0b074bd04ea5ec03c6b0c2 100644
--- a/src/sip/sipaccount.cpp
+++ b/src/sip/sipaccount.cpp
@@ -716,7 +716,7 @@ void SIPAccount::doRegister()
         std::thread{ [shared] {
             /* We have to register the external thread so it could access the pjsip frameworks */
             if (!pj_thread_is_registered()) {
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || defined RING_UWP
                     static thread_local pj_thread_desc desc;
                     static thread_local pj_thread_t *this_thread;
 #else
diff --git a/src/sip/sipvoiplink.cpp b/src/sip/sipvoiplink.cpp
index 213f28bcba910e7eba4871d680311cd8c41d27a8..e69e7e1e14d09f6a3be749a8aa2dae15f35d05bc 100644
--- a/src/sip/sipvoiplink.cpp
+++ b/src/sip/sipvoiplink.cpp
@@ -674,7 +674,7 @@ SIPVoIPLink::handleEvents()
 {
     // We have to register the external thread so it could access the pjsip frameworks
     if (!pj_thread_is_registered()) {
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || defined RING_UWP
         static thread_local pj_thread_desc desc;
         static thread_local pj_thread_t *this_thread;
 #else