Index: wp-includes/media.php
===================================================================
--- wp-includes/media.php	(revision 23983)
+++ wp-includes/media.php	(working copy)
@@ -2385,8 +2385,13 @@ function get_the_post_format_image( $attached_size = 'full', &$post = null ) {
 		return $post->format_content;
 
 	$meta = get_post_format_meta( $post->ID );
+
+	$link_fmt = '%s';
+	if ( ! empty( $meta['url'] ) )
+		$link_fmt = '<a href="' . esc_url( $meta['url'] ) . '">%s</a>';
+
 	if ( ! empty( $meta['image'] ) ) {
-		$post->format_content = wp_get_attachment_image( $meta['image'], $attached_size );
+		$post->format_content = sprintf( $link_fmt, wp_get_attachment_image( $meta['image'], $attached_size ) );
 		return $post->format_content;
 	}
 
@@ -2397,8 +2402,11 @@ function get_the_post_format_image( $attached_size = 'full', &$post = null ) {
 
 		$urls = array();
 		foreach ( $sizes as $size ) {
-			$urls[] = reset( wp_get_attachment_image_src( $media->ID, $size ) );
-			$urls[] = get_attachment_link( $media->ID );
+			$image = wp_get_attachment_image_src( $media->ID, $size );
+			if ( $image ) {
+				$urls[] = reset( $image );
+				$urls[] = get_attachment_link( $media->ID );
+			}
 		}
 
 		$count = 1;
@@ -2428,7 +2436,8 @@ function get_the_post_format_image( $attached_size = 'full', &$post = null ) {
 		}
 
 		$post->split_content = $content;
-		$post->format_content = wp_get_attachment_image( $media->ID, $attached_size );
+		$image = wp_get_attachment_image( $media->ID, $attached_size );
+		$post->format_content = sprintf( $link_fmt, $image );
 		return $post->format_content;
 	}
 
@@ -2437,7 +2446,7 @@ function get_the_post_format_image( $attached_size = 'full', &$post = null ) {
 	if ( ! empty( $htmls ) ) {
 		$html = reset( $htmls );
 		$post->split_content = $content;
-		$post->format_content = $html;
+		$post->format_content = sprintf( $link_fmt, $html );
 		return $post->format_content;
 	}
 }
Index: wp-includes/post-formats.php
===================================================================
--- wp-includes/post-formats.php	(revision 23983)
+++ wp-includes/post-formats.php	(working copy)
@@ -707,7 +707,7 @@ function get_the_post_format_url( $id = 0 ) {
 	if ( empty( $post ) )
 		return '';
 
-	if ( in_array( get_post_format( $post->ID ), array( 'link', 'quote' ) ) ) {
+	if ( in_array( get_post_format( $post->ID ), array( 'image', 'link', 'quote' ) ) ) {
 		$meta = get_post_format_meta( $post->ID );
 		if ( ! empty( $meta['url'] ) )
 			return apply_filters( 'get_the_post_format_url', esc_url_raw( $meta['url'] ), $post );
