--- status.c-orig	2006-04-26 09:33:59.000000000 -0600
+++ status.c	2006-05-15 16:27:16.709615892 -0600
@@ -4301,6 +4301,12 @@
 	if((service_properties & SERVICE_ACTIVE_CHECK) && temp_servicestatus->check_type==SERVICE_CHECK_PASSIVE)
 		return FALSE;
 
+	if((service_properties & SERVICE_STATE_TYPE_HARD) && temp_servicestatus->state_type!=HARD_STATE)
+		return FALSE;
+
+	if((service_properties & SERVICE_STATE_TYPE_SOFT) && temp_servicestatus->state_type!=SOFT_STATE)
+		return FALSE;
+
 	return TRUE;
         }
 
@@ -4532,6 +4538,14 @@
 				printf("%s Active Checks",(found==1)?" &amp;":"");
 				found=1;
 		                }
+			if(service_properties & SERVICE_STATE_TYPE_SOFT){
+				printf("%s Soft States",(found==1)?" &amp;":"");
+				found=1;
+				}
+			if(service_properties & SERVICE_STATE_TYPE_HARD){
+				printf("%s Hard States",(found==1)?" &amp;":"");
+				found=1;
+				}
 	                }
 		printf("</td></tr>");
 		printf("</table>\n");