diff -Nurp nagios-cvs/base/nagiostats.c nagios-cvs-modified/base/nagiostats.c
--- nagios-cvs/base/nagiostats.c	2008-12-20 12:17:23.000000000 -0500
+++ nagios-cvs-modified/base/nagiostats.c	2009-02-17 11:04:37.000000000 -0500
@@ -917,6 +917,7 @@ int read_status_file(void){
 	int downtime_depth=0;
 	time_t last_check=0L;
 	int should_be_scheduled=TRUE;
+	int active_checks_enabled=TRUE;
 	int has_been_checked=TRUE;
 
 
@@ -1082,7 +1083,7 @@ int read_status_file(void){
 					have_max_service_state_change=TRUE;
 					max_service_state_change=state_change;
 				        }
-				if(check_type==SERVICE_CHECK_ACTIVE){
+				if(check_type==SERVICE_CHECK_ACTIVE && active_checks_enabled==TRUE){
 					active_service_checks++;
 					average_active_service_latency=(((average_active_service_latency*((double)active_service_checks-1.0))+latency)/(double)active_service_checks);
 					if(have_min_active_service_latency==FALSE || min_active_service_latency>latency){
@@ -1193,6 +1194,7 @@ int read_status_file(void){
 			last_check=(time_t)0;
 			has_been_checked=FALSE;
 			should_be_scheduled=FALSE;
+			active_checks_enabled=FALSE;
 		        }
 
 
@@ -1358,6 +1360,8 @@ int read_status_file(void){
 					has_been_checked=(atoi(val)>0)?TRUE:FALSE;
 				else if(!strcmp(var,"should_be_scheduled"))
 					should_be_scheduled=(atoi(val)>0)?TRUE:FALSE;
+				else if(!strcmp(var,"active_checks_enabled"))
+					active_checks_enabled=(atoi(val)>0)?TRUE:FALSE;
 				break;
 
 			default:
