diff --git src/wp-includes/comment-template.php src/wp-includes/comment-template.php
index 7b6e44c..9b270d2 100644
--- src/wp-includes/comment-template.php
+++ src/wp-includes/comment-template.php
@@ -691,16 +691,46 @@ function get_comment_link( $comment = null, $args = array() ) {
 		$args['page'] = 0;
 	}
 
-	if ( $args['per_page'] ) {
-		if ( '' == $args['page'] )
-			$args['page'] = ( !empty($in_comment_loop) ) ? get_query_var('cpage') : get_page_of_comment( $comment->comment_ID, $args );
+	$link = get_permalink( $comment->comment_post_ID );
+	if ( '' == $args['page'] ) {
+		if ( ! empty( $in_comment_loop ) ) {
+			$args['page'] = get_query_var( 'cpage' );
+		} else {
+			$args['page'] = get_page_of_comment( $comment->comment_ID, $args );
+		}
+	}
 
-		if ( $wp_rewrite->using_permalinks() )
-			$link = user_trailingslashit( trailingslashit( get_permalink( $comment->comment_post_ID ) ) . $wp_rewrite->comments_pagination_base . '-' . $args['page'], 'comment' );
-		else
-			$link = add_query_arg( 'cpage', $args['page'], get_permalink( $comment->comment_post_ID ) );
+	// Drop the 'page' var if we're on the default page.
+	$comment_post = get_post( $comment->comment_post_ID );
+	if ( $args['per_page'] ) {
+		$total_pages = ceil( $comment_post->comment_count / $args['per_page'] );
 	} else {
-		$link = get_permalink( $comment->comment_post_ID );
+		$total_pages = 1;
+	}
+
+	$default_comments_page = get_option( 'default_comments_page' );
+	if (
+		( 'newest' === $default_comments_page && $args['page'] == $total_pages ) ||
+		( 'oldest' === $default_comments_page && $args['page'] == 1 )
+	) {
+		$args['page'] = '';
+	}
+
+	if ( $args['page'] ) {
+		if ( $wp_rewrite->using_permalinks() ) {
+			if ( $args['page'] ) {
+				$link = trailingslashit( $link ) . $wp_rewrite->comments_pagination_base . '-' . $args['page'];
+			}
+
+			$link = user_trailingslashit( $link, 'comment' );
+		} elseif ( $args['page'] ) {
+			$link = add_query_arg( 'cpage', $args['page'], $link );
+		}
+
+	}
+
+	if ( $wp_rewrite->using_permalinks() ) {
+		$link = user_trailingslashit( $link, 'comment' );
 	}
 
 	$link = $link . '#comment-' . $comment->comment_ID;
