---
 src/ipmievd.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/src/ipmievd.c
+++ b/src/ipmievd.c
@@ -700,6 +700,7 @@
 	int i, rc;
 	int daemon = 1;
 	struct sigaction act;
+	mode_t oldumask;
 
 	memset(pidfile, 0, 64);
 	sprintf(pidfile, "%s%d", DEFAULT_PIDFILE, eintf->intf->devnum);
@@ -762,8 +763,9 @@
 
 		ipmi_start_daemon(eintf->intf);
 
-		umask(022);
+		oldumask = umask(022);
 		fp = ipmi_open_file_write(pidfile);
+		umask(oldumask);
 		if (!fp) {
 			/* Failed to get fp on PID file -> exit. */
 			log_halt();
