diff --git a/src/xpdev/Common.gmake b/src/xpdev/Common.gmake
index b4c93926dfebd72bf1020bb8b29935d0103893c7..02fc5ee825256b3c42435559bdc0e0eac2938d42 100644
--- a/src/xpdev/Common.gmake
+++ b/src/xpdev/Common.gmake
@@ -125,11 +125,6 @@ else
  endif
 endif
 
-ifdef NEED_THREADS
- CFLAGS += $(PTHREAD_CFLAGS)
- LDFLAGS	+= $(PTHREAD_LDFLAGS)
-endif
-
 ifdef DEBUG
  CFLAGS	+=	-ggdb
  CFLAGS	+=	-D_DEBUG
@@ -150,7 +145,13 @@ ifdef NEED_UIFC
  OBJS	+=	$(UIFC_OBJS)
 endif
 ifdef XP_SEM
- OBJS	+= $(LIBODIR)$(SLASH)xpsem.$(OFILE)
+ PTHREAD_OBJS	+= $(LIBODIR)$(SLASH)xpsem.$(OFILE)
+endif
+
+ifdef NEED_THREADS
+ CFLAGS += $(PTHREAD_CFLAGS)
+ LDFLAGS	+= $(PTHREAD_LDFLAGS)
+ OBJS	+= $(PTHREAD_OBJS)
 endif
 
 depend: