Index: wp-includes/functions.php
===================================================================
--- wp-includes/functions.php	(revision 12398)
+++ wp-includes/functions.php	(working copy)
@@ -3511,13 +3511,13 @@
 
 	$delete_timestamp = time() - (60*60*24*EMPTY_TRASH_DAYS);
 
-	$posts_to_delete = $wpdb->get_results($wpdb->prepare("SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wp_trash_meta_time' AND meta_value < '%d'", $delete_timestamp), ARRAY_A);
+	$posts_to_delete = $wpdb->get_results($wpdb->prepare("SELECT m.post_id FROM $wpdb->postmeta AS m, $wpdb->posts AS p WHERE p.ID = m.post_id AND p.post_status = 'trash' AND m.meta_key = '_wp_trash_meta_time' AND m.meta_value < '%d'", $delete_timestamp), ARRAY_A);
 
 	foreach ( (array) $posts_to_delete as $post ) {
 		wp_delete_post($post['post_id']);
 	}
 
-	$comments_to_delete = $wpdb->get_results($wpdb->prepare("SELECT comment_id FROM $wpdb->commentmeta WHERE meta_key = '_wp_trash_meta_time' AND meta_value < '%d'", $delete_timestamp), ARRAY_A);
+	$comments_to_delete = $wpdb->get_results($wpdb->prepare("SELECT m.comment_id FROM $wpdb->commentmeta AS m, $wpdb->comments AS c WHERE c.comment_ID = m.comment_id AND c.comment_approved = 'trash' AND m.meta_key = '_wp_trash_meta_time' AND m.meta_value < '%d'", $delete_timestamp), ARRAY_A);
 
 	foreach ( (array) $comments_to_delete as $comment ) {
 		wp_delete_comment($comment['comment_id']);
