Index: wp-includes/plugin.php
===================================================================
--- wp-includes/plugin.php	(revision 6319)
+++ wp-includes/plugin.php	(working copy)
@@ -79,6 +79,22 @@
 }
 
 /**
+ * Check if a filter has been registered for a hook
+ * @package WordPress
+ * @subpackage Plugin
+ * @since 2.4
+ * @global array $wp_filter Stores all of the filters
+ *
+ * @param string $tag The name of the filter hook.
+ * @return boolean
+ */
+function has_filter($tag) {
+	global $wp_filter;
+
+	return isset($wp_filter[$tag]);
+}
+
+/**
  * Call the functions added to a filter hook.
  *
  * The callback functions attached to filter hook <tt>$tag</tt> are invoked by
@@ -377,6 +393,22 @@
 }
 
 /**
+ * Check if an action has been registered for a hook
+ * @package WordPress
+ * @subpackage Plugin
+ * @since 2.4
+ * @global array $wp_action Stores all of the actions
+ *
+ * @param string $tag The name of the action hook.
+ * @return boolean
+ */
+function has_action($tag) {
+	global $wp_action;
+
+	return isset($wp_action[$tag]);
+}
+
+/**
  * Removes a function from a specified action hook.
  *
  * This function removes a function attached to a specified action hook. This
Index: wp-includes/classes.php
===================================================================
--- wp-includes/classes.php	(revision 6314)
+++ wp-includes/classes.php	(working copy)
@@ -238,8 +238,7 @@
 		}
 
 		// query_string filter deprecated.  Use request filter instead.
-		global $wp_filter;
-		if ( isset($wp_filter['query_string']) ) {  // Don't bother filtering and parsing if no plugins are hooked in.
+		if ( has_filter('query_string') ) {  // Don't bother filtering and parsing if no plugins are hooked in.
 			$this->query_string = apply_filters('query_string', $this->query_string);
 			parse_str($this->query_string, $this->query_vars);
 		}
Index: wp-settings.php
===================================================================
--- wp-settings.php	(revision 6314)
+++ wp-settings.php	(working copy)
@@ -20,7 +20,7 @@
 
 wp_unregister_GLOBALS();
 
-unset( $wp_filter, $cache_lastcommentmodified, $cache_lastpostdate );
+unset( $wp_filter, $wp_action, $cache_lastcommentmodified, $cache_lastpostdate );
 
 if ( ! isset($blog_id) )
 	$blog_id = 1;
Index: wp-admin/includes/plugin.php
===================================================================
--- wp-admin/includes/plugin.php	(revision 6314)
+++ wp-admin/includes/plugin.php	(working copy)
@@ -329,10 +329,8 @@
 }
 
 function get_plugin_page_hook( $plugin_page, $parent_page ) {
-	global $wp_filter;
-
 	$hook = get_plugin_page_hookname( $plugin_page, $parent_page );
-	if ( isset( $wp_filter[$hook] ))
+	if ( has_action($hook) )
 		return $hook;
 	else
 		return null;

