diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
index 5987bf4ed7..6985b5c130 100644
--- src/wp-admin/js/customize-controls.js
+++ src/wp-admin/js/customize-controls.js
@@ -2829,13 +2829,13 @@
 		/**
 		 * Return whether the image must be cropped, based on required dimensions.
 		 *
-		 * @param {bool} flexW
-		 * @param {bool} flexH
-		 * @param {int}  dstW
-		 * @param {int}  dstH
-		 * @param {int}  imgW
-		 * @param {int}  imgH
-		 * @return {bool}
+		 * @param {boolean} flexW Width is flexible.
+		 * @param {boolean} flexH Height is flexible.
+		 * @param {number}  dstW  Required width.
+		 * @param {number}  dstH  Required height.
+		 * @param {number}  imgW  Provided image's width.
+		 * @param {number}  imgH  Provided image's height.
+		 * @return {boolean} Whether cropping is required.
 		 */
 		mustBeCropped: function( flexW, flexH, dstW, dstH, imgW, imgH ) {
 			if ( true === flexW && true === flexH ) {
@@ -2858,6 +2858,15 @@
 				return false;
 			}
 
+			if ( imgH <= dstH ) {
+				return false;
+			}
+
+			// Skip cropping of the image's aspect ratio is the same as the required aspect ratio.
+			if ( Math.abs( ( dstW / dstH ) - ( imgW / imgH ) ) < 0.00001 /* Number.EPSILON */ ) {
+				return false;
+			}
+
 			return true;
 		},
 
