diff --git a/server/sock.c b/server/sock.c
index f3aa7bb..fef1ae6 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -297,10 +297,21 @@
 static struct object *create_socket( int family, int type, int protocol )
 {
     struct sock *sock;
+    int sockfd;
 
-    if (!(sock = alloc_object( &sock_ops )))
+    sockfd = socket( family, type, protocol );
+    if (debug_level)
+        fprintf(stderr,"socket(%d,%d,%d)=%d\n",family,type,protocol,sockfd);
+    if (sockfd == -1) {
+        sock_set_error();
         return NULL;
-    sock->select.fd      = socket(family,type,protocol);
+    }
+    fcntl(sockfd, F_SETFL, O_NONBLOCK); /* make socket nonblocking */
+    if (!(sock = alloc_object( &sock_ops ))) {
+        close( sockfd );
+        return NULL;
+    }
+    sock->select.fd      = sockfd;
     sock->select.func    = sock_select_event;
     sock->select.private = sock;
     sock->state          = (type!=SOCK_STREAM) ? WS_FD_READ|WS_FD_WRITE : 0;
@@ -308,9 +319,6 @@
     sock->hmask          = 0;
     sock->pmask          = 0;
     sock->event          = NULL;
-    if (debug_level)
-        fprintf(stderr,"socket(%d,%d,%d)=%d\n",family,type,protocol,sock->select.fd);
-    fcntl(sock->select.fd, F_SETFL, O_NONBLOCK); /* make socket nonblocking */
     register_select_user( &sock->select );
     sock_reselect( sock );
     clear_error();
@@ -343,6 +351,7 @@
     }
     if (!(acceptsock = alloc_object( &sock_ops )))
     {
+        close( acceptfd );
         release_object( sock );
         return NULL;
     }
