diff --git a/src/build/Common.gmake b/src/build/Common.gmake
index e0de3395fc1ed47ac4773e38564e7438cf6bb472..87f2bb62a9faaa26e9e541b80848d8652b2041d5 100644
--- a/src/build/Common.gmake
+++ b/src/build/Common.gmake
@@ -242,7 +242,7 @@ else
  else
   ifeq ($(os),netbsd)    # NetBSD
    MT_CFLAGS	+=	-DUSE_XP_SEMAPHORES
-   MT_LDFLAGS    +=   -L/usr/pkg/lib -lpthread
+   MT_LDFLAGS    +=   -L/usr/pkg/lib
    XP_SEM    :=    1
   else
    ifeq ($(os),qnx)    # QNX
@@ -250,18 +250,15 @@ else
     ifeq ($(os),darwin)    # Darwin/Mac OS X
      CFLAGS    += -D__unix__ 
      MT_CFLAGS    += -DUSE_XP_SEMAPHORES -D__DARWIN__
-     MT_LDFLAGS    += -lpthread
      XP_SEM    := 1
     else
      ifeq ($(os),sunos)  # Solaris
       XP_SEM :=    1
       MT_CFLAGS    +=    -D_POSIX_PTHREAD_SEMANTICS
       MT_CFLAGS    += -DUSE_XP_SEMAPHORES
-      MT_LDFLAGS    +=    -lpthread
      else            # Linux / Other UNIX
       XP_SEM :=    1
       MT_CFLAGS    += -DUSE_XP_SEMAPHORES
-      MT_LDFLAGS    +=    -lpthread
      endif
     endif
    endif
diff --git a/src/xpdev/Common.gmake b/src/xpdev/Common.gmake
index 3b4ba4245ea9c9459ad6f40caa2f8a1fbfd0f584..ec6b2c1270dcef1ce975936c3150577efa01061d 100644
--- a/src/xpdev/Common.gmake
+++ b/src/xpdev/Common.gmake
@@ -2,9 +2,21 @@ XPDEV_LIBS	+=	-lm
 XPDEV-MT_LIBS	+=	-lm
 ifeq ($(os),netbsd)     # NetBSD
  XPDEV_LIBS	+=	-lossaudio
- XPDEV-MT_LIBS	+=	-lossaudio
+ XPDEV-MT_LIBS	+=	-lossaudio -lpthread
 endif
 ifeq ($(os),openbsd)    # OpenBSD
  XPDEV_LIBS	+=	-lossaudio
- XPDEV-MT_LIBS	+=	-lossaudio
+ XPDEV-MT_LIBS	+=	-lossaudio -lpthread
+endif
+ifeq ($(os),sunos)	# Solaris
+ XPDEV-MT_LIBS	+=	-lpthread
+endif
+ifeq ($(os),darwin)	# Mac OS/X
+ XPDEV-MT_LIBS	+=	-lpthread
+endif
+ifeq ($(os),qnx)	# QNX
+ XPDEV-MT_LIBS	+=	-lpthread
+endif
+ifeq ($(os),linux)	# Linux
+ XPDEV-MT_LIBS	+=	-lpthread
 endif