Index: wp-admin/includes/image.php
===================================================================
--- wp-admin/includes/image.php	(revision 5819)
+++ wp-admin/includes/image.php	(working copy)
@@ -66,6 +66,15 @@
 			}
 
 			$thumbnail = imagecreatetruecolor( $image_new_width, $image_new_height);
+
+			// preserve PNG transparency
+			if( $type[2] == 3 &&
+				function_exists( 'imagealphablending' ) &&
+				function_exists( 'imagesavealpha' )) {
+				imagealphablending($thumbnail, false);
+				imagesavealpha($thumbnail,true);
+			}
+
 			@ imagecopyresampled( $thumbnail, $image, 0, 0, 0, 0, $image_new_width, $image_new_height, $image_attr[0], $image_attr[1] );
 
 			// If no filters change the filename, we'll do a default transformation.
