diff --git a/debug.h b/debug.h
index b20e68504882a87ce219fdefa463705ae040f263..d54bc271ad07a80c7e8312aa62acac4944adcdac 100644
--- a/debug.h
+++ b/debug.h
@@ -31,7 +31,7 @@
 
 /* Work well for valgrind - don't clear environment, be nicer with signals
  * etc. Don't use this normally, it might cause problems */
-/* #define DEBUG_VALGRIND */
+#define DEBUG_VALGRIND
 
 /* Define this to compile in trace debugging printf()s. 
  * You'll need to run programs with "-v" to turn this on.
@@ -39,7 +39,7 @@
  * Caution: Don't use this in an unfriendly environment (ie unfirewalled),
  * since the printing may not sanitise strings etc. This will add a reasonable
  * amount to your executable size. */
-/*#define DEBUG_TRACE */
+#define DEBUG_TRACE
 
 /* All functions writing to the cleartext payload buffer call
  * CHECKCLEARTOWRITE() before writing. This is only really useful if you're
@@ -69,7 +69,7 @@
 
 /* To debug with GDB it is easier to run with no forking of child processes.
    You will need to pass "-F" as well. */
-/* #define DEBUG_NOFORK */
+#define DEBUG_NOFORK
 
 
 /* For testing as non-root on shadowed systems, include the crypt of a password
diff --git a/svr-chansession.c b/svr-chansession.c
index 4d6d4fe0b3288a0a7b04b678680b4a050bf9fccf..9fd49c112074bf0dac54f3bd69e221470d653f2b 100644
--- a/svr-chansession.c
+++ b/svr-chansession.c
@@ -137,7 +137,7 @@ static void sesssigchild_handler(int UNUSED(dummy)) {
 
 	sa_chld.sa_handler = sesssigchild_handler;
 	sa_chld.sa_flags = SA_NOCLDSTOP;
-	sa_chld.sa_mask = 0;
+	sigemptyset(&sa_chld.sa_mask);
 	sigaction(SIGCHLD, &sa_chld, NULL);
 	TRACE(("leave sigchld handler"))
 }
@@ -981,6 +981,7 @@ void svr_chansessinitialise() {
 	svr_ses.lastexit.exitpid = -1; /* Nothing has exited yet */
 	sa_chld.sa_handler = sesssigchild_handler;
 	sa_chld.sa_flags = SA_NOCLDSTOP;
+	sigemptyset(&sa_chld.sa_mask);
 	if (sigaction(SIGCHLD, &sa_chld, NULL) < 0) {
 		dropbear_exit("signal() error");
 	}
diff --git a/svr-main.c b/svr-main.c
index ff3691fef2dcf6e402a2d1a0c86a6510eebfd75d..b7258e5fb0ecd4c4e4ccae1a4a9088f2495696f8 100644
--- a/svr-main.c
+++ b/svr-main.c
@@ -370,7 +370,7 @@ static void commonsetup() {
 	/* catch and reap zombie children */
 	sa_chld.sa_handler = sigchld_handler;
 	sa_chld.sa_flags = SA_NOCLDSTOP;
-	sa_chld.sa_mask = 0;
+	sigemptyset(&sa_chld.sa_mask);
 	if (sigaction(SIGCHLD, &sa_chld, NULL) < 0) {
 		dropbear_exit("signal() error");
 	}