diff --git a/src/server/server.c b/src/server/server.c
index de79f417c79a9530152cf5c3935055bdf977240d..0a1a718572fad4c0383026828009b4bfb76e1683 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -177,8 +177,10 @@ void Server_Start(void)
 	// write pidfile
 	{
 		FILE *fp = fopen("/var/run/dispsrv.pid", "w");
-		fprintf(fp, "%i", getpid());
-		fclose(fp);
+		if( fp ) {
+			fprintf(fp, "%i", getpid());
+			fclose(fp);
+		}
 	}
 
 	for(;;)
@@ -249,7 +251,7 @@ void Server_Cleanup(void)
 {
 	printf("\nClose(%i)\n", giServer_Socket);
 	close(giServer_Socket);
-	unlink("/var/run/dispsrv");
+	unlink("/var/run/dispsrv.pid");
 }
 
 /**