Index: wp-includes/template.php
===================================================================
--- wp-includes/template.php	(revision 21134)
+++ wp-includes/template.php	(working copy)
@@ -302,16 +302,18 @@
  * @return string
  */
 function get_attachment_template() {
-	global $posts;
-	$type = explode('/', $posts[0]->post_mime_type);
-	if ( $template = get_query_template($type[0]) )
-		return $template;
-	elseif ( $template = get_query_template($type[1]) )
-		return $template;
-	elseif ( $template = get_query_template("$type[0]_$type[1]") )
-		return $template;
-	else
-		return get_query_template('attachment');
+	$object = get_queried_object();
+
+	$type = explode( '/', $object->post_mime_type );
+
+	$templates = array(); 
+
+	$templates[] = "{$type[0]}-{$type[1]}.php";
+	$templates[] = "{$type[1]}.php";
+	$templates[] = "{$type[0]}.php";
+	$templates[] = 'attachment.php';
+
+	return get_query_template( 'attachment', $templates ); 
 }
 
 /**
