init_stack_dump();             /* grab new pid */
    }
 
-   drop(uid, gid);                   /* reduce priveleges if requested */
-
    /* Create pid must come after we are a daemon -- so we have our final pid */
    create_pid_file(director->pid_directory, "bacula-dir", director->DIRport);
 
+   drop(uid, gid);                   /* reduce priveleges if requested */
+
 /* signal(SIGHUP, reload_config); */
 
    init_console_msg(working_directory);
 
       init_stack_dump();             /* set new pid */
    }
 
-   drop(uid, gid);
-
    /* Maximum 1 daemon at a time */
    create_pid_file(me->pid_directory, "bacula-fd", me->FDport);
 
+   drop(uid, gid);
+
 #ifdef BOMB
    me += 1000000;
 #endif
 
       init_stack_dump();             /* pick up new pid */
    }
 
-   drop(uid, gid);
-
    create_pid_file(me->pid_directory, "bacula-sd", me->SDport);
 
+   drop(uid, gid);
+
    /* Ensure that Volume Session Time and Id are both
     * set and are both non-zero.
     */