Index: wp-includes/plugin.php
===================================================================
--- wp-includes/plugin.php	(revision 15615)
+++ wp-includes/plugin.php	(working copy)
@@ -349,7 +349,7 @@
  * @param mixed $arg,... Optional additional arguments which are passed on to the functions hooked to the action.
  * @return null Will return null if $tag does not exist in $wp_filter array
  */
-function do_action($tag, $arg = '') {
+function do_action($tag) {
 	global $wp_filter, $wp_actions, $merged_filters, $wp_current_filter;
 
 	if ( ! isset($wp_actions) )
@@ -374,10 +374,13 @@
 	}
 
 	$args = array();
-	if ( is_array($arg) && 1 == count($arg) && isset($arg[0]) && is_object($arg[0]) ) // array(&$this)
-		$args[] =& $arg[0];
-	else
-		$args[] = $arg;
+	if ( func_num_args() > 1 ) {
+		$arg = func_get_arg(1);
+		if ( is_array($arg) && 1 == count($arg) && isset($arg[0]) && is_object($arg[0]) ) // array(&$this)
+			$args[] =& $arg[0];
+		else
+			$args[] = $arg;
+	}
 	for ( $a = 2; $a < func_num_args(); $a++ )
 		$args[] = func_get_arg($a);
 
