- HPUX and Configure fixes from Lutz Jaenicke
   <Lutz.Jaenicke@aet.TU-Cottbus.DE>
 - Use mkinstalldirs script to make directories instead of non-portable
   "install -d". Suggested by Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE>
diff --git a/serverloop.c b/serverloop.c
index 58e901d..977ed41 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -85,7 +85,6 @@
 	int save_errno = errno;
 	debug("Received SIGCHLD.");
 	child_terminated = 1;
-	signal(SIGCHLD, sigchld_handler2);
 	errno = save_errno;
 }
 
@@ -650,6 +649,7 @@
 			while ((pid = waitpid(-1, &status, WNOHANG)) > 0)
 				session_close_by_pid(pid, status);
 			child_terminated = 0;
+			signal(SIGCHLD, sigchld_handler2);
 		}
 		channel_after_select(&readset, &writeset);
 		process_input(&readset);