---- a/pppd/main.c
-+++ b/pppd/main.c
-@@ -1570,6 +1570,8 @@ safe_fork(int infd, int outfd, int errfd
- if (errfd == 0 || errfd == 1)
- errfd = dup(errfd);
-
-+ closelog();
-+
- /* dup the in, out, err fds to 0, 1, 2 */
- if (infd != 0)
- dup2(infd, 0);
-@@ -1578,7 +1580,6 @@ safe_fork(int infd, int outfd, int errfd
- if (errfd != 2)
- dup2(errfd, 2);
-
-- closelog();
- if (log_to_fd > 2)
- close(log_to_fd);
- if (the_channel->close)