Index: wp-includes/comment-template.php
===================================================================
--- wp-includes/comment-template.php	(revision 9260)
+++ wp-includes/comment-template.php	(working copy)
@@ -762,6 +762,18 @@
 		$comments_by_type = &$wp_query->comments_by_type;
 	}
 
+	// Set the default comments page to the last page (this isn't perfect)
+	if ( '' == get_query_var('cpage') && get_option('page_comments') ) {
+		if ( get_option('thread_comments') ) {
+			$walker = new Walker_Comment;
+			$lastpage = floor( $walker->get_number_of_root_elements( $wp_query->comments ) / get_query_var('comments_per_page') );
+		} else {
+			$lastpage = floor( count( $wp_query->comments ) / get_query_var('comments_per_page') );
+		}
+
+		set_query_var('cpage', $lastpage);
+	}
+
 	define('COMMENTS_TEMPLATE', true);
 
 	$include = apply_filters('comments_template', STYLESHEETPATH . $file );
Index: wp-includes/link-template.php
===================================================================
--- wp-includes/link-template.php	(revision 9260)
+++ wp-includes/link-template.php	(working copy)
@@ -1174,7 +1174,7 @@
 	}
 }
 
-function get_comments_pagenum_link($pagenum = 1) {
+function get_comments_pagenum_link( $pagenum = 1, $max_page = 0 ) {
 	global $wp_rewrite;
 
 	$pagenum = (int) $pagenum;
@@ -1190,7 +1190,7 @@
 
 	$base = trailingslashit( get_bloginfo( 'home' ) );
 
-	if ( $pagenum > 1 ) {
+	if ( $pagenum != $max_page ) {
 		$result = add_query_arg( 'cpage', $pagenum, $base . $request );
 	} else {
 		$result = $base . $request;
@@ -1225,7 +1225,7 @@
 	if ( empty($label) )
 		$label = __('&raquo; Newer Comments');
 
-	echo '<a href="' . clean_url(get_comments_pagenum_link($nextpage));
+	echo '<a href="' . clean_url( get_comments_pagenum_link( $nextpage, $max_page ) );
 	$attr = apply_filters( 'next_comments_link_attributes', '' );
 	echo "\" $attr>". preg_replace('/&([^#])(?![a-z]{1,8};)/', '&#038;$1', $label) .'</a>';
 }
