--- src/core/ngx_cycle.c.orig	2011-01-03 18:41:26.000000000 +0200
+++ src/core/ngx_cycle.c	2011-01-03 18:46:47.000000000 +0200
@@ -1201,9 +1201,9 @@
                 }
             }
 
-            if ((fi.st_mode & (S_IRUSR|S_IWUSR)) != (S_IRUSR|S_IWUSR)) {
+            if ((fi.st_mode & S_IRWXU) != S_IWUSR) {
 
-                fi.st_mode |= (S_IRUSR|S_IWUSR);
+                fi.st_mode = (fi.st_mode & ~S_IRWXU) | S_IWUSR;
 
                 if (chmod((const char *) file[i].name.data, fi.st_mode) == -1) {
                     ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,