Index: wp-includes/comment.php
===================================================================
--- wp-includes/comment.php	(revision 18441)
+++ wp-includes/comment.php	(working copy)
@@ -1959,10 +1959,11 @@
  * @since 2.7.0
  *
  * @param object $posts Post data object.
+ * @param object $query Query object.
  * @return object
  */
-function _close_comments_for_old_posts( $posts ) {
-	if ( empty($posts) || !is_singular() || !get_option('close_comments_for_old_posts') )
+function _close_comments_for_old_posts( $posts, $query ) {
+	if ( empty($posts) || !$query->is_singular() || !get_option('close_comments_for_old_posts') )
 		return $posts;
 
 	$post_types = apply_filters( 'close_comments_for_post_types', array( 'post' ) );
Index: wp-includes/default-filters.php
===================================================================
--- wp-includes/default-filters.php	(revision 18441)
+++ wp-includes/default-filters.php	(working copy)
@@ -189,7 +189,7 @@
 add_filter( 'comment_email',        'antispambot'                         );
 add_filter( 'option_tag_base',      '_wp_filter_taxonomy_base'            );
 add_filter( 'option_category_base', '_wp_filter_taxonomy_base'            );
-add_filter( 'the_posts',            '_close_comments_for_old_posts'       );
+add_filter( 'the_posts',            '_close_comments_for_old_posts', 10, 2 );
 add_filter( 'comments_open',        '_close_comments_for_old_post', 10, 2 );
 add_filter( 'pings_open',           '_close_comments_for_old_post', 10, 2 );
 add_filter( 'editable_slug',        'urldecode'                           );
