Index: wp-includes/comment.php
===================================================================
--- wp-includes/comment.php	(revision 12402)
+++ wp-includes/comment.php	(working copy)
@@ -1263,6 +1263,11 @@
 
 	$comment_old = wp_clone(get_comment($comment_id));
 
+	if ( 'trash' == $comment_old->comment_approved && $status != 'trash' )
+		wp_untrash_comment( $comment_id );
+	elseif ( 'spam' == $comment_old->comment_approved && $status != 'spam' )
+		wp_unspam_comment( $comment_id );
+
 	if ( !$wpdb->update( $wpdb->comments, array('comment_approved' => $status), array('comment_ID' => $comment_id) ) ) {
 		if ( $wp_error )
 			return new WP_Error('db_update_error', __('Could not update comment status'), $wpdb->last_error);
