diff --git a/glslang/OSDependent/Windows/ossource.cpp b/glslang/OSDependent/Windows/ossource.cpp
index 56dbf7919463a75865ffd51bc2ab20bed7c07a11..1d09fd38a3d8cf92350e40a272dc8a08a2cc5a3f 100644
--- a/glslang/OSDependent/Windows/ossource.cpp
+++ b/glslang/OSDependent/Windows/ossource.cpp
@@ -134,7 +134,7 @@ unsigned int __stdcall EnterGenericThread (void* entry)
 
 void* OS_CreateThread(TThreadEntrypoint entry)
 {
-    return (void*)_beginthreadex(0, 0, EnterGenericThread, entry, 0, 0);
+    return (void*)_beginthreadex(0, 0, EnterGenericThread, (void*)entry, 0, 0);
 }
 
 void OS_WaitForAllThreads(void* threads, int numThreads)