diff --git a/svr-main.c b/svr-main.c
index cf92d426b7fa9a4871118ceb42f720db62b7e663..284e02d901bcb8f860dcaa3a1a71a5027348d12c 100644
--- a/svr-main.c
+++ b/svr-main.c
@@ -343,6 +343,7 @@ static void sigchld_handler(int UNUSED(unused)) {
 
 	sa_chld.sa_handler = sigchld_handler;
 	sa_chld.sa_flags = SA_NOCLDSTOP;
+	sigemptyset(&sa_chld.sa_mask);
 	if (sigaction(SIGCHLD, &sa_chld, NULL) < 0) {
 		dropbear_exit("signal() error");
 	}