Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 12593)
+++ wp-includes/post.php	(working copy)
@@ -2899,8 +2899,7 @@
 	}
 
 	// remove intermediate and backup images if there are any
-	$sizes = apply_filters('intermediate_image_sizes', array('thumbnail', 'medium', 'large'));
-	foreach ( $sizes as $size ) {
+	foreach ( get_intermediate_image_sizes() as $size ) {
 		if ( $intermediate = image_get_intermediate_size($post_id, $size) ) {
 			$intermediate_file = apply_filters('wp_delete_file', $intermediate['path']);
 			@ unlink( path_join($uploadpath['basedir'], $intermediate_file) );
Index: wp-includes/media.php
===================================================================
--- wp-includes/media.php	(revision 12593)
+++ wp-includes/media.php	(working copy)
@@ -507,6 +507,20 @@
 }
 
 /**
+ * Get the available image sizes
+ * @since 3.0
+ * @return array Returns a filtered array of image size strings
+ */
+function get_intermediate_image_sizes() {
+	global $_wp_additional_image_sizes;
+	$image_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes
+	if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
+		$image_sizes = array_merge( $image_sizes, array_keys( $_wp_additional_image_sizes ) );
+
+	return apply_filters( 'intermediate_image_sizes', $image_sizes );
+}
+
+/**
  * Retrieve an image to represent an attachment.
  *
  * A mime icon for files, thumbnail or intermediate size for images.
Index: wp-admin/includes/image.php
===================================================================
--- wp-admin/includes/image.php	(revision 12593)
+++ wp-admin/includes/image.php	(working copy)
@@ -102,13 +102,8 @@
 
 		// make thumbnails and other intermediate sizes
 		global $_wp_additional_image_sizes;
-		$temp_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes
-		if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
-			$temp_sizes = array_merge( $temp_sizes, array_keys( $_wp_additional_image_sizes ) );
 
-		$temp_sizes = apply_filters( 'intermediate_image_sizes', $temp_sizes );
-
-		foreach ( $temp_sizes as $s ) {
+		foreach ( get_intermediate_image_sizes() as $s ) {
 			$sizes[$s] = array( 'width' => '', 'height' => '', 'crop' => FALSE );
 			if ( isset( $_wp_additional_image_sizes[$s]['width'] ) )
 				$sizes[$s]['width'] = intval( $_wp_additional_image_sizes[$s]['width'] ); // For theme-added sizes
