Index: src/wp-includes/canonical.php
===================================================================
--- src/wp-includes/canonical.php	(revision 25397)
+++ src/wp-includes/canonical.php	(working copy)
@@ -225,11 +225,18 @@
 		}
 
 		// Post Paging
-		if ( is_singular() && ! is_front_page() && get_query_var('page') ) {
-			if ( !$redirect_url )
-				$redirect_url = get_permalink( get_queried_object_id() );
-			$redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' );
-			$redirect['query'] = remove_query_arg( 'page', $redirect['query'] );
+		if ( is_singular() && ! is_front_page() ) {
+			if ( get_query_var('page') ) {
+				if ( ! $redirect_url )
+					$redirect_url = set_url_scheme( get_permalink( get_queried_object_id() ) );
+				$redirect_url = trailingslashit( $redirect_url ) . user_trailingslashit( get_query_var( 'page' ), 'single_paged' );
+				$redirect['query'] = remove_query_arg( 'page', $redirect['query'] );
+			} else {
+				$post_url = set_url_scheme( get_permalink( get_queried_object_id() ) );
+				// If the full post's URL is not within the requested url, lets redirect there.
+				if ( strpos( $requested_url, $post_url ) === false )
+					$redirect_url = $post_url;
+			}
 		}
 
 		// paging and feeds
