diff --git a/src/srun/signals.c b/src/srun/signals.c
index 6947bcf7d0a4beb759be60866353182e5177319d..f052a1c3f49d259b6a1dfd66cf157af8e1ba4f87 100644
--- a/src/srun/signals.c
+++ b/src/srun/signals.c
@@ -228,15 +228,15 @@ _sig_thr(void *arg)
 	sigset_t set;
 	time_t last_intr      = 0;
 	time_t last_intr_sent = 0;
-	int signo;
+	int signo, err;
 
 	while (!_sig_thr_done(job)) {
 
 		xsignal_sigset_create(srun_sigarray, &set);
 
-		if (sigwait(&set, &signo) < 0) {
-			if (errno != EINTR) 
-				error ("sigwait: %m");
+		if ((err = sigwait(&set, &signo)) != 0) {
+			if (err != EINTR) 
+				error ("sigwait: %s", slurm_strerror (err));
 			continue;
 		}