Index: wp-includes/plugin.php
===================================================================
--- wp-includes/plugin.php	(revision 21293)
+++ wp-includes/plugin.php	(working copy)
@@ -166,12 +166,12 @@
 	if ( empty($args) )
 		$args = func_get_args();
 
-	do {
-		foreach( (array) current($wp_filter[$tag]) as $the_ ) {
+	while ( ( $next = each($wp_filter[$tag]) ) !== false ) {
+		foreach( $next['value'] as $the_ ) {
 			$args[1] = $value;
 			$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 );
 
@@ -222,11 +222,11 @@
 
 	reset( $wp_filter[ $tag ] );
 
-	do {
-		foreach( (array) current($wp_filter[$tag]) as $the_ ) {
+	while ( ( $next = each($wp_filter[$tag]) ) !== false ) {
+		foreach( $next['value'] as $the_ ) {
 			$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 );
 
@@ -399,11 +399,11 @@
 
 	reset( $wp_filter[ $tag ] );
 
-	do {
-		foreach ( (array) current($wp_filter[$tag]) as $the_ ) {
+	while ( ( $next = each($wp_filter[$tag]) ) !== false ) {
+		foreach( $next['value'] as $the_ ) {
 			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);
 }
@@ -479,11 +479,11 @@
 
 	reset( $wp_filter[ $tag ] );
 
-	do {
-		foreach( (array) current($wp_filter[$tag]) as $the_ ) {
+	while ( ( $next = each($wp_filter[$tag]) ) !== false ) {
+		foreach( $next['value'] as $the_ ) {
 			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);
 }
@@ -710,11 +710,11 @@
 	global $wp_filter;
 
 	reset( $wp_filter['all'] );
-	do {
-		foreach( (array) current($wp_filter['all']) as $the_ ) {
+	while ( ( $next = each($wp_filter['all']) ) !== false ) {
+		foreach( $next['value'] as $the_ ) {
 			call_user_func_array($the_['function'], $args);
 		}
-	} while ( next($wp_filter['all']) !== false );
+	}
 }
 
 /**
