Index: wp-includes/post.php
===================================================================
--- wp-includes/post.php	(revision 17487)
+++ wp-includes/post.php	(working copy)
@@ -3905,7 +3905,7 @@
 
 	$ext = preg_match('/\.([^.]+)$/', $file, $matches) ? strtolower($matches[1]) : false;
 
-	$image_exts = array('jpg', 'jpeg', 'gif', 'png');
+	$image_exts = array('jpg', 'jpeg', 'jpe', 'gif', 'png');
 
 	if ( 'image/' == substr($post->post_mime_type, 0, 6) || $ext && 'import' == $post->post_mime_type && in_array($ext, $image_exts) )
 		return true;
@@ -5236,4 +5236,4 @@
 }
 add_filter( 'wp_get_object_terms', '_post_format_wp_get_object_terms' );
 
-?>
\ No newline at end of file
+?>
Index: wp-admin/includes/media.php
===================================================================
--- wp-admin/includes/media.php	(revision 17487)
+++ wp-admin/includes/media.php	(working copy)
@@ -563,7 +563,7 @@
 
 		// Set variables for storage
 		// fix file filename for query strings
-		preg_match('/[^\?]+\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/', $file, $matches);
+		preg_match('/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches);
 		$file_array['name'] = basename($matches[0]);
 		$file_array['tmp_name'] = $tmp;
 
Index: wp-admin/press-this.php
===================================================================
--- wp-admin/press-this.php	(revision 17487)
+++ wp-admin/press-this.php	(working copy)
@@ -200,7 +200,7 @@
 		 */
 		function get_images_from_uri($uri) {
 			$uri = preg_replace('/\/#.+?$/','', $uri);
-			if ( preg_match('/\.(jpg|jpe|jpeg|png|gif)$/', $uri) && !strpos($uri,'blogger.com') )
+			if ( preg_match('/\.(jpe?g|jpe|gif|png)\b/i', $uri) && !strpos($uri,'blogger.com') )
 				return "'" . esc_attr( html_entity_decode($uri) ) . "'";
 			$content = wp_remote_fopen($uri);
 			if ( false === $content )
