diff --git a/src/modules/files/file.c b/src/modules/files/file.c
index 737d731b3cbb6acb5fea8085cce3bd51aae6d532..5da7eaa6d23579ed6aaa1b37d27aea6ad29f90b2 100644
--- a/src/modules/files/file.c
+++ b/src/modules/files/file.c
@@ -6,7 +6,7 @@
 #define READ_BUFFER 8192
 
 #include "global.h"
-RCSID("$Id: file.c,v 1.64 1998/06/09 17:14:02 grubba Exp $");
+RCSID("$Id: file.c,v 1.65 1998/07/21 17:13:28 grubba Exp $");
 #include "interpret.h"
 #include "svalue.h"
 #include "stralloc.h"
@@ -1087,14 +1087,14 @@ retry_connect:
   retry_accept:
     sv[0]=accept(fd,(struct sockaddr *)&addr,&len);
 
-    set_nonblocking(sv[0],0);
-
     if(sv[0] < 0) {
       if(errno==EINTR) goto retry_accept;
       close(sv[1]);
       return -1;
     }
 
+    set_nonblocking(sv[0],0);
+
     /* We do not trust accept */
     len=sizeof(addr);
     if(getpeername(sv[0], (struct sockaddr *)&addr,&len)) return -1;