diff --git src/wp-admin/includes/image-edit.php src/wp-admin/includes/image-edit.php
index 4015f30..a00fba1 100644
--- src/wp-admin/includes/image-edit.php
+++ src/wp-admin/includes/image-edit.php
@@ -797,6 +797,22 @@ function wp_save_image( $post_id ) {
 		$success = $delete = $nocrop = true;
 	}
 
+	/*
+	 * We need to remove any existing resized image files because
+	 * a new crop could generate different image file sizes and so
+	 * different file names, and so the new resized images won't
+	 * necessarily overwrite the existing resized image files
+	 * https://core.trac.wordpress.org/ticket/32171
+	*/
+	if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE ) {
+		foreach ( $meta['sizes'] as $size ) {
+			if ( preg_match('/-e[0-9]{13}-/', $size['file'] ) ) {
+				$delete_file = path_join( dirname( $new_path ), $size['file'] );
+				wp_delete_file( $delete_file );
+			}
+		}
+	}
+
 	if ( isset( $sizes ) ) {
 		$_sizes = array();
 
