diff --git src/wp-includes/post.php src/wp-includes/post.php
index 72ffc8d..6ada1b2 100644
--- src/wp-includes/post.php
+++ src/wp-includes/post.php
@@ -5060,7 +5060,7 @@ function wp_get_attachment_url( $post_id = 0 ) {
 }
 
 /**
- * Retrieve thumbnail for an attachment.
+ * Retrieves the thumbnail for an attachment.
  *
  * @since 2.1.0
  *
@@ -5074,20 +5074,28 @@ function wp_get_attachment_thumb_file( $post_id = 0 ) {
 	if ( !is_array( $imagedata = wp_get_attachment_metadata( $post->ID ) ) )
 		return false;
 
+	$thumbfile = false;
 	$file = get_attached_file( $post->ID );
 
-	if ( !empty($imagedata['thumb']) && ($thumbfile = str_replace(basename($file), $imagedata['thumb'], $file)) && file_exists($thumbfile) ) {
+	if ( isset( $imagedata['sizes']['thumbnail']['file'] ) ) {
+		$thumbfile = $imagedata['sizes']['thumbnail']['file'];
+	} elseif ( isset( $imagedata['thumb'] ) ) {
+		$thumbfile = $imagedata['thumb'];
+	}
+
+	if ( $thumbfile && file_exists( str_replace( basename( $file ), $thumbfile, $file ) ) ) {
 		/**
-		 * Filter the attachment thumbnail file path.
+		 * Filters the attachment thumbnail file path.
 		 *
 		 * @since 2.1.0
 		 *
 		 * @param string $thumbfile File path to the attachment thumbnail.
 		 * @param int    $post_id   Attachment ID.
 		 */
-		return apply_filters( 'wp_get_attachment_thumb_file', $thumbfile, $post->ID );
+		$thumbfile = apply_filters( 'wp_get_attachment_thumb_file', $thumbfile, $post->ID );
 	}
-	return false;
+
+	return $thumbfile;
 }
 
 /**
diff --git tests/phpunit/tests/post/attachments.php tests/phpunit/tests/post/attachments.php
index 3df4ce4..7d8030f 100644
--- tests/phpunit/tests/post/attachments.php
+++ tests/phpunit/tests/post/attachments.php
@@ -520,4 +520,20 @@ class Tests_Post_Attachments extends WP_UnitTestCase {
 
 		$this->assertContains( 'images/media/video.png', $icon );
 	}
+
+	/**
+	 * @ticket 17262
+	 */
+	public function test_wp_get_attachment_thumb_file() {
+		$filename = ( DIR_TESTDATA . '/images/a2-small.jpg' );
+		$contents = file_get_contents( $filename );
+
+		$upload = wp_upload_bits( basename( $filename ), null, $contents );
+		$this->assertTrue( empty( $upload['error'] ) );
+
+		$id = $this->_make_attachment( $upload );
+
+		$this->assertFalse( wp_get_attachment_thumb_file() );
+		$this->assertEquals( 'a2-small-150x150.jpg', wp_get_attachment_thumb_file( $id ) );
+	}
 }
