diff --git a/src/makefiles/Makefile.hpux b/src/makefiles/Makefile.hpux
index 98c2ed76cc426e721f84506ee410a282034f81ac..bbe304539f5c13a5043894a1d965114432e0f923 100644
--- a/src/makefiles/Makefile.hpux
+++ b/src/makefiles/Makefile.hpux
@@ -2,6 +2,12 @@ HPUX_MAJOR= $(shell uname -r|sed 's/^[^.]*\.\([^.]*\).*/\1/')
 # HP-UX 10 has a select() in libcurses, so we need to get the libc version first
 ifeq ($(HPUX_MAJOR), 10)
    LDFLAGS:= -Wl,-E -lc $(LDFLAGS)
+   CFLAGS+= -DUSE_POSIX_SIGNALS
+endif
+
+# HP-UX 09 needs libc before libPW, so we need to get the libc version first
+ifeq ($(HPUX_MAJOR), 09)
+   LDFLAGS:= -Wl,-E $(LDFLAGS:-lPW=-lc -lPW)
 endif
 
 # Does anyone use this stuff?
@@ -23,4 +29,3 @@ endif
 
 %.sl: %.o
 	$(LD) -b -o $@ $<
-