Index: wp-admin/includes/image-edit.php
===================================================================
--- wp-admin/includes/image-edit.php	(revision 21602)
+++ wp-admin/includes/image-edit.php	(working copy)
@@ -223,6 +223,8 @@
 
 	switch ( $mime_type ) {
 		case 'image/jpeg':
+			if ( function_exists( 'imageinterlace' ) )
+				imageinterlace( $image, 1 );
 			return imagejpeg( $image, $filename, apply_filters( 'jpeg_quality', 90, 'edit_image' ) );
 		case 'image/png':
 			return imagepng($image, $filename);
Index: wp-admin/includes/image.php
===================================================================
--- wp-admin/includes/image.php	(revision 21602)
+++ wp-admin/includes/image.php	(working copy)
@@ -76,6 +76,9 @@
 	if ( function_exists( 'imageantialias' ) )
 		imageantialias( $dst, true );
 
+	if ( function_exists( 'imageinterlace' ) )
+		imageinterlace( $dst, 1 );
+
 	imagecopyresampled( $dst, $src, 0, 0, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h );
 
 	imagedestroy( $src ); // Free up memory
Index: wp-includes/media.php
===================================================================
--- wp-includes/media.php	(revision 21602)
+++ wp-includes/media.php	(working copy)
@@ -464,6 +464,10 @@
 		// all other formats are converted to jpg
 		if ( 'jpg' != $ext && 'jpeg' != $ext )
 			$destfilename = "{$dir}/{$name}-{$suffix}.jpg";
+
+		if ( function_exists( 'imageinterlace' ) )
+			imageinterlace( $newimage, 1 );
+
 		if ( !imagejpeg( $newimage, $destfilename, apply_filters( 'jpeg_quality', $jpeg_quality, 'image_resize' ) ) )
 			return new WP_Error('resize_path_invalid', __( 'Resize path invalid' ));
 	}
