diff --git src/js/_enqueues/wp/util.js src/js/_enqueues/wp/util.js
index 8384371173..8c37db324b 100644
--- src/js/_enqueues/wp/util.js
+++ src/js/_enqueues/wp/util.js
@@ -115,7 +115,21 @@ window.wp = window.wp || {};
 					}
 
 					if ( _.isObject( response ) && ! _.isUndefined( response.success ) ) {
-						deferred[ response.success ? 'resolveWith' : 'rejectWith' ]( deferred.jqXHR, [response.data] );
+
+						// When handling a media attachments request, get the total attachments from response headers.
+						var context = this;
+						deferred.done( function() {
+							if (
+								'query-attachments' === action.data.action &&
+								deferred.jqXHR.hasOwnProperty( 'getResponseHeader' ) &&
+								deferred.jqXHR.getResponseHeader( 'X-WP-Total' )
+							) {
+								context.totalAttachments = parseInt( deferred.jqXHR.getResponseHeader( 'X-WP-Total' ), 10 );
+							} else {
+								context.totalAttachments = 0;
+							}
+						} );
+						deferred[ response.success ? 'resolveWith' : 'rejectWith' ]( this, [response.data] );
 					} else {
 						deferred.rejectWith( this, [response] );
 					}
diff --git src/js/media/models/attachments.js src/js/media/models/attachments.js
index e06d719939..42b05d7546 100644
--- src/js/media/models/attachments.js
+++ src/js/media/models/attachments.js
@@ -404,20 +404,6 @@ var Attachments = Backbone.Collection.extend(/** @lends wp.media.model.Attachmen
 		});
 	},
 
-	// Customize fetch so we can extract the total post count from the response headers.
-	fetch: function(options) {
-		var collection = this;
-		var fetched = Backbone.Collection.prototype.fetch.call(this, options)
-			.done( function() {
-				if ( this.hasOwnProperty( 'getResponseHeader' ) ) {
-					collection.totalAttachments = parseInt( this.getResponseHeader( 'X-WP-Total' ), 10 );
-				} else {
-					collection.totalAttachments = 0;
-				}
-			} );
-		return fetched;
-	},
-
 	/**
 	 * If the collection is a query, create and mirror an Attachments Query collection.
 	 *
