diff --git a/src/xpdev/CMakeLists.txt b/src/xpdev/CMakeLists.txt
index 6d01c4d4b08818d8bd14c41eda795385d5e7b903..d36dbab09a813d99baf080df70d1bb4a945daf67 100644
--- a/src/xpdev/CMakeLists.txt
+++ b/src/xpdev/CMakeLists.txt
@@ -91,20 +91,21 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Haiku")
 	target_link_libraries(xpdev m)
 	target_link_libraries(xpdev network)
 elseif(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
-	target_link_libraries(xpdev ossaudio pthread)
+	target_link_libraries(xpdev ossaudio)
 elseif(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
-	target_link_libraries(xpdev ossaudio pthread)
+	target_link_libraries(xpdev ossaudio)
 elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
-	target_link_libraries(xpdev socket pthread)
+	target_link_libraries(xpdev socket)
 elseif(CMAKE_SYSTEM_NAME STREQUAL "OS X")
-	target_link_libraries(xpdev pthread)
+	target_link_libraries(xpdev)
 elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
-	target_link_libraries(xpdev pthread)
+	target_link_libraries(xpdev)
 elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-	target_link_libraries(xpdev pthread)
+	target_link_libraries(xpdev)
 elseif(WIN32)
 	target_link_libraries(xpdev ws2_32 winmm)
 endif()
+target_link_libraries(xpdev ${CMAKE_THREAD_LIBS_INIT})
 
 if(EXISTS /dev/urandom)
 	target_compile_definitions(xpdev PRIVATE HAS_DEV_URANDOM URANDOM_DEV="/dev/urandom")