Index: wp-includes/plugin.php
===================================================================
--- wp-includes/plugin.php	(revision 24556)
+++ wp-includes/plugin.php	(working copy)
@@ -161,20 +161,18 @@
 		$merged_filters[ $tag ] = true;
 	}
 
-	reset( $wp_filter[ $tag ] );
-
 	if ( empty($args) )
 		$args = func_get_args();
 
-	do {
-		foreach( (array) current($wp_filter[$tag]) as $the_ )
-			if ( !is_null($the_['function']) ){
+	foreach ( $wp_filter[ $tag ] as $filters ) {
+		foreach( (array) $filters as $the_ ) {
+			if ( ! is_null( $the_['function'] ) ) {
 				$args[1] = $value;
-				$value = call_user_func_array($the_['function'], array_slice($args, 1, (int) $the_['accepted_args']));
+				$value = call_user_func_array( $the_['function'], array_slice( $args, 1, (int) $the_['accepted_args'] ) );
 			}
+		}
+	}
 
-	} while ( next($wp_filter[$tag]) !== false );
-
 	array_pop( $wp_current_filter );
 
 	return $value;
@@ -222,15 +220,15 @@
 		$merged_filters[ $tag ] = true;
 	}
 
-	reset( $wp_filter[ $tag ] );
+	foreach ( $wp_filter[ $tag ] as $filters ) {
+		foreach( (array) $filters as $the_ ) {
+			if ( ! is_null( $the_['function'] ) ) {
+				$args[0] = call_user_func_array( $the_['function'], array_slice( $args, 0, (int) $the_['accepted_args'] ) );
+			}
+		}
+	}
 
-	do {
-		foreach( (array) current($wp_filter[$tag]) as $the_ )
-			if ( !is_null($the_['function']) )
-				$args[0] = call_user_func_array($the_['function'], array_slice($args, 0, (int) $the_['accepted_args']));
 
-	} while ( next($wp_filter[$tag]) !== false );
-
 	array_pop( $wp_current_filter );
 
 	return $args[0];
