diff --git wp-includes/query.php wp-includes/query.php
index 04286aa..88f63a6 100644
--- wp-includes/query.php
+++ wp-includes/query.php
@@ -2361,7 +2361,7 @@ class WP_Query {
 			$orderby = "FIELD( {$wpdb->posts}.post_parent, $post_parent__in )";
 		} else {
 			// Used to filter values
-			$allowed_keys = array('name', 'author', 'date', 'title', 'modified', 'menu_order', 'parent', 'ID', 'rand', 'comment_count');
+			$allowed_keys = array( 'name', 'author', 'date', 'title', 'modified', 'menu_order', 'parent', 'ID', 'rand', 'comment_count', 'comment_date' );
 			if ( !empty($q['meta_key']) ) {
 				$allowed_keys[] = $q['meta_key'];
 				$allowed_keys[] = 'meta_value';
@@ -2396,6 +2396,10 @@ class WP_Query {
 					case 'comment_count':
 						$orderby = "$wpdb->posts.comment_count";
 						break;
+					case 'comment_date':
+						$orderby = "$wpdb->comments.comment_date";
+						$join .= " LEFT JOIN $wpdb->comments ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID ";
+						break;
 					default:
 						$orderby = "$wpdb->posts.post_" . $orderby;
 				}
