--- a/forkexec.c
+++ b/forkexec.c
@@ -108,7 +108,7 @@ static void sigchld_hdl(int sig)
 	int script_status;
 	pid_t pid;
 
-	while ((pid = waitpid(WAIT_ANY, &script_status, WNOHANG)) != 0) {
+	while ((pid = waitpid(-1, &script_status, WNOHANG)) != 0) {
 		if(pid == -1) {
 			if(cfg.debug >= 9 && errno != ECHILD)
 				syslog(LOG_ERR, "%s: %s: %d: waitpid failed %s", __FILE__, __FUNCTION__, __LINE__, strerror(errno));