Index: wp-includes/comment.php
===================================================================
--- wp-includes/comment.php	(revision 11101)
+++ wp-includes/comment.php	(working copy)
@@ -1089,6 +1089,10 @@
 	// Escape data pulled from DB.
 	$comment = $wpdb->escape($comment);
 
+	// Save status info, it might have changed
+	$new_status = $commentarr['comment_status'];
+	$old_status = $comment['comment_approved'];
+
 	// Merge old and new fields with new fields overwriting old ones.
 	$commentarr = array_merge($comment, $commentarr);
 
@@ -1117,7 +1121,7 @@
 	wp_update_comment_count($comment_post_ID);
 	do_action('edit_comment', $comment_ID);
 	$comment = get_comment($comment_ID);
-	wp_transition_comment_status($comment_approved, $comment->comment_approved, $comment);
+	wp_transition_comment_status( $new_status, $old_status, $comment );
 	return $rval;
 }
 
