Index: wp-includes/media.php
===================================================================
--- wp-includes/media.php	(revision 22458)
+++ wp-includes/media.php	(working copy)
@@ -491,6 +491,7 @@
  *
  * A mime icon for files, thumbnail or intermediate size for images.
  *
+ * @uses apply_filters() Calls 'wp_get_attachment_image_src' hook on image array
  * @since 2.5.0
  *
  * @param int $attachment_id Image attachment ID.
@@ -501,18 +502,20 @@
 function wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon = false) {
 
 	// get a thumbnail or intermediate image if there is one
-	if ( $image = image_downsize($attachment_id, $size) )
-		return $image;
+	if (false === ( $image = image_downsize($attachment_id, $size) ) ) {
+		$src = false;
 
-	$src = false;
-
-	if ( $icon && $src = wp_mime_type_icon($attachment_id) ) {
-		$icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/crystal' );
-		$src_file = $icon_dir . '/' . wp_basename($src);
-		@list($width, $height) = getimagesize($src_file);
+		if ( $icon && $src = wp_mime_type_icon($attachment_id) ) {
+			$icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/crystal' );
+			$src_file = $icon_dir . '/' . wp_basename($src);
+			@list($width, $height) = getimagesize($src_file);
+		}
+		if ( $src && $width && $height )
+			$image = array( $src, $width, $height );
 	}
-	if ( $src && $width && $height )
-		return array( $src, $width, $height );
+	$image = apply_filters( 'wp_get_attachment_image_src', $image, $attachment_id, $size, $icon );
+	if (!empty($image))
+		return $image;
 	return false;
 }
 
