--- /dev/null
+--- cyrus-imapd-2.0.14/master/master.c.wiget Fri Jun 22 08:35:25 2001
++++ cyrus-imapd-2.0.14/master/master.c Fri Jun 22 08:38:08 2001
+@@ -1279,7 +1279,7 @@
+ int y = Services[i].socket;
+ int j;
+
+- if (FD_ISSET(x, &rfds)) {
++ if (x > 0 && FD_ISSET(x, &rfds)) {
+ r = read(x, &msg, sizeof(int));
+ if (r != sizeof(int)) {
+ syslog(LOG_ERR, "got weird response from child: %x", i);
+@@ -1299,7 +1299,7 @@
+ }
+
+ if (Services[i].ready_workers == 0 &&
+- FD_ISSET(y, &rfds)) {
++ y > 0 && FD_ISSET(y, &rfds)) {
+ /* huh, someone wants to talk to us */
+ spawn_service(&Services[i]);
+ }