diff --git a/src/xpdev/threadwrap.h b/src/xpdev/threadwrap.h
index 29638b532ef1e093480502d9730c49fd2fe9b27d..a2098ad519285bba00bf04bba7da8b95c737b522 100644
--- a/src/xpdev/threadwrap.h
+++ b/src/xpdev/threadwrap.h
@@ -64,7 +64,7 @@ extern "C" {
 	#include <errno.h>		/* EAGAIN and EBUSY */
 
 	/* POSIX threads */
-	typedef DWORD pthread_t;
+	typedef uintptr_t pthread_t;
 	#define pthread_self()				GetCurrentThreadId()
 	#define pthread_equal(t1,t2)		((t1)==(t2))
 
@@ -75,7 +75,7 @@ extern "C" {
 
 	#else	/* Implemented as Win32 Critical Sections */
 
-		typedef CRITICAL_SECTION pthread_mutex_t;
+		typedef intptr_t pthread_mutex_t;
 
 	#endif