diff --git src/wp-includes/media.php src/wp-includes/media.php
index 6b0187a..8d3f091 100644
--- src/wp-includes/media.php
+++ src/wp-includes/media.php
@@ -155,14 +155,16 @@ function image_hwstring( $width, $height ) {
  *
  * @since 2.5.0
  *
- * @param int          $id   Attachment ID for image.
- * @param array|string $size Optional. Image size to scale to. Accepts any valid image size,
- *                           or an array of width and height values in pixels (in that order).
- *                           Default 'medium'.
+ * @param int          $id        Attachment ID for image.
+ * @param array|string $size      Optional. Image size to scale to. Accepts any valid image size,
+ *                                or an array of width and height values in pixels (in that order).
+ *                                Default 'medium'.
+ * @param bool         $constrain Optional. Whether to constrain the image to content width or not.
+ *                                Default true.
  * @return false|array Array containing the image URL, width, height, and boolean for whether
  *                     the image is an intermediate size. False on failure.
  */
-function image_downsize( $id, $size = 'medium' ) {
+function image_downsize( $id, $size = 'medium', $constrain = true ) {
 
 	if ( !wp_attachment_is_image($id) )
 		return false;
@@ -212,9 +214,12 @@ function image_downsize( $id, $size = 'medium' ) {
 		$height = $meta['height'];
 	}
 
-	if ( $img_url) {
-		// we have the actual image size, but might need to further constrain it if content_width is narrower
-		list( $width, $height ) = image_constrain_size_for_editor( $width, $height, $size );
+	if ( $img_url ) {
+
+		if ( $constrain ) {
+			// We have the actual image size, but might need to further constrain it if content_width is narrower.
+			list( $width, $height ) = image_constrain_size_for_editor( $width, $height, $size );
+		}
 
 		return array( $img_url, $width, $height, $is_intermediate );
 	}
@@ -749,8 +754,9 @@ function get_intermediate_image_sizes() {
  * @return false|array Returns an array (url, width, height, is_intermediate), or false, if no image is available.
  */
 function wp_get_attachment_image_src( $attachment_id, $size = 'thumbnail', $icon = false ) {
-	// get a thumbnail or intermediate image if there is one
-	$image = image_downsize( $attachment_id, $size );
+	// Get a thumbnail or intermediate image if there is one.
+	$image = image_downsize( $attachment_id, $size, false );
+
 	if ( ! $image ) {
 		$src = false;
 
