Index: wp-content/themes/twentythirteen/image.php
===================================================================
--- wp-content/themes/twentythirteen/image.php	(revision 24393)
+++ wp-content/themes/twentythirteen/image.php	(working copy)
@@ -9,41 +9,6 @@
  * @since Twenty Thirteen 1.0
  */
 
-the_post();
-
-/**
- * Grab the IDs of all the image attachments in a gallery so we can get the URL of the next adjacent image in a gallery,
- * or the first image (if we're looking at the last image in a gallery), or, in a gallery of one, just the link to that image file
- */
-$attachments = array_values( get_children( array(
-	'post_parent' => $post->post_parent,
-	'post_status' => 'inherit',
-	'post_type' => 'attachment',
-	'post_mime_type' => 'image',
-	'order' => 'ASC',
-	'orderby' => 'menu_order ID'
-) ) );
-
-foreach ( $attachments as $k => $attachment ) :
-if ( $attachment->ID == $post->ID )
-	break;
-endforeach;
-
-$k++;
-// If there is more than 1 attachment in a gallery
-if ( count( $attachments ) > 1 ) :
-	if ( isset( $attachments[ $k ] ) ) :
-		// get the URL of the next image attachment
-		$next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
-	else :
-		// or get the URL of the first image attachment
-		$next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID );
-	endif;
-else :
-	// or, if there's only 1 image, get the URL of the image
-	$next_attachment_url = wp_get_attachment_url();
-endif;
-
 get_header(); ?>
 
 	<div id="primary" class="content-area">
@@ -54,8 +19,8 @@
 
 					<div class="entry-meta">
 						<?php
-							$published_text  = __( '<span class="attachment-meta">Published on <time class="entry-date" datetime="%1$s">%2$s</time> in <a href="%3$s" title="Return to %4$s" rel="gallery">%5$s</a></span>', 'twentythirteen' );
-							$post_title = get_the_title( $post->post_parent );
+							$published_text = __( '<span class="attachment-meta">Published on <time class="entry-date" datetime="%1$s">%2$s</time> in <a href="%3$s" title="Return to %4$s" rel="gallery">%5$s</a></span>', 'twentythirteen' );
+							$post_title     = get_the_title( $post->post_parent );
 							if ( empty( $post_title ) || 0 == $post->post_parent )
 								$published_text  = '<span class="attachment-meta"><time class="entry-date" datetime="%1$s">%2$s</time></span>';
 
@@ -76,7 +41,8 @@
 								$metadata['height']
 							);
 
-							edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); ?>
+							edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' );
+						?>
 					</div><!-- .entry-meta -->
 				</header><!-- .entry-header -->
 
@@ -88,18 +54,14 @@
 
 					<div class="entry-attachment">
 						<div class="attachment">
-							<a href="<?php echo esc_url( $next_attachment_url ); ?>" title="<?php the_title_attribute(); ?>" rel="attachment"><?php
-							$attachment_size = apply_filters( 'twentythirteen_attachment_size', array( 724, 724 ) );
-							echo wp_get_attachment_image( $post->ID, $attachment_size );
-							?></a>
+							<?php twentythirteen_the_attached_image(); ?>
 
-							<?php if ( ! empty( $post->post_excerpt ) ) : ?>
+							<?php if ( has_excerpt() ) : ?>
 							<div class="entry-caption">
 								<?php the_excerpt(); ?>
 							</div>
 							<?php endif; ?>
 						</div><!-- .attachment -->
-
 					</div><!-- .entry-attachment -->
 
 					<?php if ( ! empty( $post->post_content ) ) : ?>
@@ -110,7 +72,6 @@
 					<?php endif; ?>
 
 				</div><!-- .entry-content -->
-
 			</article><!-- #post -->
 
 			<?php comments_template(); ?>
Index: wp-content/themes/twentythirteen/functions.php
===================================================================
--- wp-content/themes/twentythirteen/functions.php	(revision 24393)
+++ wp-content/themes/twentythirteen/functions.php	(working copy)
@@ -420,6 +420,59 @@
 }
 endif;
 
+if ( ! function_exists( 'twentythirteen_the_attached_image' ) ) :
+/**
+ * Prints the attached image with a link to the next attached image.
+ *
+ * @since Twenty Thirteen 1.0
+ *
+ * @return void
+ */
+function twentythirteen_the_attached_image() {
+	$post                = get_post();
+	$attachment_size     = apply_filters( 'twentythirteen_attachment_size', array( 724, 724 ) );
+	$next_attachment_url = wp_get_attachment_url();
+
+	/**
+	 * Grab the IDs of all the image attachments in a gallery so we can get the URL
+	 * of the next adjacent image in a gallery, or the first image (if we're
+	 * looking at the last image in a gallery), or, in a gallery of one, just the
+	 * link to that image file.
+	 */
+	$attachments = array_values( get_children( array(
+		'post_parent'    => $post->post_parent,
+		'post_status'    => 'inherit',
+		'post_type'      => 'attachment',
+		'post_mime_type' => 'image',
+		'order'          => 'ASC',
+		'orderby'        => 'menu_order ID'
+	) ) );
+
+	// If there is more than 1 attachment in a gallery...
+	if ( count( $attachments ) > 1 ) {
+		foreach ( $attachments as $k => $attachment ) {
+			if ( $attachment->ID == $post->ID )
+				break;
+		}
+		$k++;
+
+		// get the URL of the next image attachment...
+		if ( isset( $attachments[ $k ] ) )
+			$next_attachment_url = get_attachment_link( $attachments[ $k ]->ID );
+
+		// or get the URL of the first image attachment.
+		else
+			$next_attachment_url = get_attachment_link( $attachments[0]->ID );
+	}
+
+	printf( '<a href="%1$s" title="%2$s" rel="attachment">%3$s</a>',
+		esc_url( $next_attachment_url ),
+		the_title_attribute( array( 'echo' => false ) ),
+		wp_get_attachment_image( $post->ID, $attachment_size )
+	);
+}
+endif;
+
 /**
  * Returns the URL from the post.
  *
