Index: src/wp-includes/canonical.php
===================================================================
--- src/wp-includes/canonical.php	(revision 34837)
+++ src/wp-includes/canonical.php	(working copy)
@@ -319,8 +319,21 @@
 			}
 
 			if ( ( 'newest' == get_option('default_comments_page') && get_query_var('cpage') > 0 ) || ( 'newest' != get_option('default_comments_page') && get_query_var('cpage') > 1 ) ) {
-				$addl_path = ( !empty( $addl_path ) ? trailingslashit($addl_path) : '' ) . user_trailingslashit( $wp_rewrite->comments_pagination_base . '-' . get_query_var('cpage'), 'commentpaged' );
-				$redirect['query'] = remove_query_arg( 'cpage', $redirect['query'] );
+				if ( $wp_query->post ) {
+					$top_level_query = new WP_Comment_Query(); 
+					$top_level_count = $top_level_query->query( array( 
+						'count'   => true, 
+						'orderby' => false, 
+						'post_id' => $wp_query->post->ID,
+						'parent'  => 0, 
+					) ); 
+					$comments_per_page = get_option( 'comments_per_page' );
+					$total_comment_pages = $comments_per_page ? ceil( $top_level_count / $comments_per_page ) : 1;
+					if ( get_query_var('cpage') <= $total_comment_pages ) {
+						$addl_path = ( !empty( $addl_path ) ? trailingslashit($addl_path) : '' ) . user_trailingslashit( $wp_rewrite->comments_pagination_base . '-' . get_query_var('cpage'), 'commentpaged' );
+						$redirect['query'] = remove_query_arg( 'cpage', $redirect['query'] );
+					}
+				}
 			}
 
 			$redirect['path'] = user_trailingslashit( preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/?$|', '/', $redirect['path']) ); // strip off trailing /index.php/
Index: tests/phpunit/tests/canonical.php
===================================================================
--- tests/phpunit/tests/canonical.php	(revision 34837)
+++ tests/phpunit/tests/canonical.php	(working copy)
@@ -102,6 +102,7 @@
 
 			// Comments
 			array( '/2008/03/03/comment-test/?cpage=2', '/2008/03/03/comment-test/comment-page-2/' ),
+			array( '/2008/03/03/comment-test/comment-page-4/', '/2008/03/03/comment-test/' ),
 
 			// Attachments
 			array( '/?attachment_id=611', '/2008/06/10/post-format-test-gallery/canola2/' ),
