Index: wp-admin/includes/image-edit.php
===================================================================
--- wp-admin/includes/image-edit.php	(revision 21468)
+++ wp-admin/includes/image-edit.php	(working copy)
@@ -453,6 +453,8 @@
 }
 
 function wp_save_image($post_id) {
+	global $_wp_additional_image_sizes;
+
 	$return = new stdClass;
 	$success = $delete = $scaled = $nocrop = false;
 	$post = get_post($post_id);
@@ -590,9 +592,18 @@
 					$backup_sizes[$tag] = $meta['sizes'][$size];
 			}
 
-			$crop = $nocrop ? false : get_option("{$size}_crop");
-			$resized = image_make_intermediate_size($new_path, get_option("{$size}_size_w"), get_option("{$size}_size_h"), $crop );
+			if ( isset( $_wp_additional_image_sizes[$size] ) ) {
+				$width = intval( $_wp_additional_image_sizes[$size]['width'] );
+				$height = intval( $_wp_additional_image_sizes[$size]['height'] );
+				$crop = ( $nocrop ) ? false : intval( $_wp_additional_image_sizes[$size]['crop'] );
+			} else {
+				$height = get_option( "{$size}_size_h" );
+				$width = get_option( "{$size}_size_w" );
+				$crop = ( $nocrop ) ? false : get_option( "{$size}_crop" );
+			}
 
+			$resized = image_make_intermediate_size( $new_path, $width, $height, $crop );
+
 			if ( $resized )
 				$meta['sizes'][$size] = $resized;
 			else
