diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c
index 91b4b856d634dd206a1092684a998d660058d33b..28ea0ff919730027da4113a3078a2d4576b3e871 100644
--- a/src/slurmctld/controller.c
+++ b/src/slurmctld/controller.c
@@ -424,6 +424,9 @@ static void _default_sigaction(int sig)
 		error("sigaction(%d): %m", sig);
 		return;
 	}
+	if (act.sa_handler != SIG_IGN)
+		return;
+
 	act.sa_handler = SIG_DFL;
 	if (sigaction(sig, &act, NULL))
 		error("sigaction(%d): %m", sig);