Index: wp-comments-post.php
===================================================================
--- wp-comments-post.php	(revision 18467)
+++ wp-comments-post.php	(working copy)
@@ -90,12 +90,6 @@
 $comment_id = wp_new_comment( $commentdata );
 
 $comment = get_comment($comment_id);
-if ( !$user->ID ) {
-	$comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000);
-	setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
-	setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
-	setcookie('comment_author_url_' . COOKIEHASH, esc_url($comment->comment_author_url), time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN);
-}
 
 $location = empty($_POST['redirect_to']) ? get_comment_link($comment_id) : $_POST['redirect_to'] . '#comment-' . $comment_id;
 $location = apply_filters('comment_post_redirect', $location, $comment);
Index: wp-includes/default-filters.php
===================================================================
--- wp-includes/default-filters.php	(revision 18467)
+++ wp-includes/default-filters.php	(working copy)
@@ -253,6 +253,7 @@
 add_action( 'save_post',                  '_save_post_hook',          5, 2 );
 add_action( 'transition_post_status',     '_transition_post_status',  5, 3 );
 add_action( 'comment_form', 'wp_comment_form_unfiltered_html_nonce'        );
+add_action( 'comment_post', 'wp_set_comment_cookies');
 add_action( 'wp_scheduled_delete',        'wp_scheduled_delete'            );
 add_action( 'before_wp_tiny_mce',         'wp_print_editor_js'             );
 add_action( 'after_wp_tiny_mce',          'wp_preload_dialogs',      10, 1 );
Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 18467)
+++ wp-includes/functions.php	(working copy)
@@ -4549,4 +4549,26 @@
 	@header( 'X-Frame-Options: SAMEORIGIN' );
 }
 
+/** 
+ * Sets the cookies used to store an unauthenticated commentator's identity. Typically used 
+ * to recall previous comments by this commentator that are still held in moderation. 
+ * 
+ * @param string $id Comment id
+ * 
+ */ 
+//function wp_set_comment_cookies($author,$email,$url) { 
+function wp_set_comment_cookies($id) { 
+	$comment = get_comment($id,ARRAY_A);
+	$author = $comment['author'];
+	$email = $comment['author_email'];
+	$url = $comment['author_url'];
+	if(!$user->ID){
+		$comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000); 
+		setcookie('comment_author_' . COOKIEHASH, $author, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN); 
+		setcookie('comment_author_email_' . COOKIEHASH, $email, time() + $comment_cookie_lifetime, COOKIEPATH, COOKIE_DOMAIN); 
+		setcookie('comment_author_url_' . COOKIEHASH, esc_url($url), time() + $comment_cookie_lifetime, 	COOKIEPATH, COOKIE_DOMAIN); 
+	}
+} 
+
+
 ?>
