diff -urN pvfs-2.8.1/src/io/bmi/bmi_tcp/socket-collection.c pvfs-2.8.1-no_epoll/src/io/bmi/bmi_tcp/socket-collection.c
--- pvfs-2.8.1/src/io/bmi/bmi_tcp/socket-collection.c	2009-08-26 14:39:09.000000000 -0500
+++ pvfs-2.8.1-no_epoll/src/io/bmi/bmi_tcp/socket-collection.c	2009-08-26 14:41:12.000000000 -0500
@@ -89,17 +89,18 @@
 
     if(new_server_socket > -1)
     {
-	tmp_scp->pollfd_array[0].fd = new_server_socket;
-	tmp_scp->pollfd_array[0].events = POLLIN;
-	tmp_scp->addr_array[0] = NULL;
+	tmp_scp->pollfd_array[tmp_scp->array_count].fd = new_server_socket;
+	tmp_scp->pollfd_array[tmp_scp->array_count].events = POLLIN;
+	tmp_scp->addr_array[tmp_scp->array_count] = NULL;
 	tmp_scp->array_count++;
-        /* Add the pipe_fd[0] fd to the poll in set always */
-        tmp_scp->pollfd_array[1].fd = tmp_scp->pipe_fd[0];
-        tmp_scp->pollfd_array[1].events = POLLIN;
-        tmp_scp->addr_array[1] = NULL;
-        tmp_scp->array_count++;
     }
 
+    /* Add the pipe_fd[0] fd to the poll in set always */
+    tmp_scp->pollfd_array[tmp_scp->array_count].fd = tmp_scp->pipe_fd[0];
+    tmp_scp->pollfd_array[tmp_scp->array_count].events = POLLIN;
+    tmp_scp->addr_array[tmp_scp->array_count] = NULL;
+    tmp_scp->array_count++;
+
     return (tmp_scp);
 }
 
