Index: arch/unix/fcgid_pm_unix.c
===================================================================
--- arch/unix/fcgid_pm_unix.c	(revision 773596)
+++ arch/unix/fcgid_pm_unix.c	(working copy)
@@ -289,8 +289,7 @@
 
     rv = apr_stat(&finfo, get_socketpath(main_server), APR_FINFO_USER,
                   configpool);
-    if (rv != APR_SUCCESS || !(finfo.valid & APR_FINFO_USER)
-        || finfo.user != unixd_config.user_id) {
+    if (rv != APR_SUCCESS) {
         /* Make dir for unix domain socket */
         if ((rv = apr_dir_make_recursive(get_socketpath(main_server),
                                          APR_UREAD | APR_UWRITE |
@@ -301,7 +300,10 @@
                          get_socketpath(main_server));
             exit(1);
         }
+    }
 
+    if (!geteuid() &&
+        (!(finfo.valid & APR_FINFO_USER) || finfo.user != unixd_config.user_id)) {
         if (chown(get_socketpath(main_server), unixd_config.user_id, -1) < 0) {
             ap_log_error(APLOG_MARK, APLOG_ERR, errno, main_server,
                          "mod_fcgid: Can't set ownership of unix socket dir %s",
