diff --git a/lib/Resmon/Status.pm b/lib/Resmon/Status.pm
index 83521d2c52f9f23882f1c317d67daaafd70fc829..2c092c67ab29ac1428a7780df94982321d25ca9c 100644
--- a/lib/Resmon/Status.pm
+++ b/lib/Resmon/Status.pm
@@ -307,6 +307,7 @@ sub serve_http_on {
   $self->{child} = fork();
   if($self->{child} == 0) {
     eval {
+      $SIG{'HUP'} = 'IGNORE';
       while(my $client = $handle->accept) {
         my $req;
         my $proto;
diff --git a/rc/resmon b/rc/resmon
index 0eb91ddcb5fc8e5edfad5766537f216187ace102..bee7cfffb96afb31d8e87b7af097810d2667d37f 100755
--- a/rc/resmon
+++ b/rc/resmon
@@ -43,6 +43,12 @@ restart() {
 	stop
 	start
 }	
+reload() {
+	echo -n $"Reloading resmon: "
+	killproc resmon -HUP
+	echo
+	return $?
+}
 
 case "$1" in
   start)
@@ -54,9 +60,12 @@ case "$1" in
   status)
   	rhstatus
 	;;
-  restart|reload)
+  restart)
   	restart
 	;;
+  reload)
+	reload
+	;;
   condrestart)
   	[ -f /var/lock/subsys/resmon ] && restart || :
 	;;