diff -Naur Unreal3.2.orig//src/ircd.c Unreal3.2.patched//src/ircd.c
--- src/ircd.c	2010-12-31 02:55:49.625207115 -0500
+++ src/ircd.c	2010-12-31 02:56:38.670526020 -0500
@@ -242,6 +242,7 @@
 #else
 	unload_all_modules();
 	flush_connections(&me);
+	unlink(IRCD_PIDFILE);
 	exit(-1);
 #endif
 }
diff -Naur Unreal3.2.orig//unreal.in Unreal3.2.patched//unreal.in
--- unreal.in	2010-12-31 02:55:49.635206161 -0500
+++ unreal.in	2010-12-31 03:05:36.079230734 -0500
@@ -33,7 +33,7 @@
 		echo "ERROR: UnrealIRCd is not running"
 		exit 1
 	fi
-	kill -9 `cat $PID_FILE`
+	kill -15 `cat $PID_FILE`
 elif [ "$1" = "rehash" ] ; then
 	echo "Rehashing UnrealIRCd"
 	if [ ! -r $PID_FILE ] ; then
