diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 87b5fdaf04e3fd9938ea11e08dbd963fda7c58fc..698d4d31cf432cb230cc051159db6896bd4322de 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -1207,6 +1207,13 @@ static void prepare_stdio (slurmd_job_t *job, slurmd_task_info_t *task)
 	return;
 }
 
+static void unblock_signals (void)
+{
+	sigset_t set;
+	sigemptyset(&set);
+	xsignal_set_mask (&set);
+}
+
 /* fork and exec N tasks
  */
 static int
@@ -1319,7 +1326,7 @@ _fork_all_tasks(slurmd_job_t *job)
 
 			/* log_fini(); */ /* note: moved into exec_task() */
 
-			xsignal_unblock(slurmstepd_blocked_signals);
+			unblock_signals();
 
 			/*
 			 *  Need to setup stdio before setpgid() is called