diff --git a/signal.c b/signal.c
index 515abff04d4da798c592b316a710902a0fb92fe5..3cfa1ec6b44f6719dcf0f1c95e1a18add5dc6b8f 100644
--- a/signal.c
+++ b/signal.c
@@ -134,7 +134,9 @@ static void sig_on_signal(oop_source *source,int sig,
 		sigaction(sig,NULL,&act);
 		s->sig[sig].old = act;
 		act.sa_handler = on_signal;
+#ifdef SA_NODEFER
 		act.sa_flags &= ~SA_NODEFER;
+#endif
 		sigaction(sig,&act,NULL);
 	}
 }