Index: wp-content/themes/twentyeleven/content-gallery.php
===================================================================
--- wp-content/themes/twentyeleven/content-gallery.php	(revision 23798)
+++ wp-content/themes/twentyeleven/content-gallery.php	(working copy)
@@ -30,25 +30,21 @@
 		<div class="entry-content">
 			<?php if ( post_password_required() ) : ?>
 				<?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) ); ?>
-
-			<?php else : ?>
-				<?php
-					$images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) );
-					if ( $images ) :
-						$total_images = count( $images );
-						$image = array_shift( $images );
-						$image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' );
-				?>
-
+			<?php else :
+				$images = twentyeleven_get_gallery_images();
+				if ( $images ) :
+					$total_images = count( $images );
+					$image = array_shift( $images );
+			?>
 				<figure class="gallery-thumb">
-					<a href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a>
+					<a href="<?php the_permalink(); ?>"><?php echo wp_get_attachment_image( $image, 'thumbnail' ); ?></a>
 				</figure><!-- .gallery-thumb -->
 
 				<p><em><?php printf( _n( 'This gallery contains <a %1$s>%2$s photo</a>.', 'This gallery contains <a %1$s>%2$s photos</a>.', $total_images, 'twentyeleven' ),
 						'href="' . esc_url( get_permalink() ) . '" title="' . esc_attr( sprintf( __( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ) ) . '" rel="bookmark"',
 						number_format_i18n( $total_images )
 					); ?></em></p>
-			<?php endif; ?>
+			<?php endif; // end twentyeleven_get_gallery_images() check ?>
 			<?php the_excerpt(); ?>
 		<?php endif; ?>
 		<?php wp_link_pages( array( 'before' => '<div class="page-link"><span>' . __( 'Pages:', 'twentyeleven' ) . '</span>', 'after' => '</div>' ) ); ?>
Index: wp-content/themes/twentyeleven/functions.php
===================================================================
--- wp-content/themes/twentyeleven/functions.php	(revision 23798)
+++ wp-content/themes/twentyeleven/functions.php	(working copy)
@@ -626,3 +626,44 @@
 	return $classes;
 }
 add_filter( 'body_class', 'twentyeleven_body_classes' );
+
+/**
+ * Finds galleries for a post, then counts the total number of images and finds
+ * the first image in the gallery, for display on index/archive/search views.
+ *
+ * @uses get_post_galleries() first, if available. Falls back to shortcode parsing,
+ * then as last option uses a get_posts() call.
+ *
+ * @since Twenty Eleven 1.6.
+ *
+ * @return mixed Boolean on empty result, array of image IDs if successful.
+ */
+function twentyeleven_get_gallery_images() {
+	$images = false;
+
+	if ( function_exists( 'get_post_gallery_images' ) ) {
+		$galleries = get_post_galleries();
+		if ( isset( $galleries[0]['ids'] ) )
+		 	$images = explode( ',', $galleries[0]['ids'] );
+	} else {
+		$pattern = get_shortcode_regex();
+		preg_match( "/$pattern/s", get_the_content(), $match );
+		$atts = shortcode_parse_atts( $match[3] );
+		if ( isset( $atts['ids'] ) )
+			$images = explode( ',', $atts['ids'] );
+	}
+
+	if ( ! $images ) {
+		$images = get_posts( array(
+			'fields'         => 'ids',
+			'numberposts'    => 999,
+			'order'          => 'ASC',
+			'orderby'        => 'menu_order',
+			'post_mime_type' => 'image',
+			'post_parent'    => get_the_ID(),
+			'post_type'      => 'attachment',
+		) );
+	}
+
+	return $images;
+}
\ No newline at end of file
