diff --git src/wp-includes/js/media-models.js src/wp-includes/js/media-models.js
index af64387257..28caa1553a 100644
--- src/wp-includes/js/media-models.js
+++ src/wp-includes/js/media-models.js
@@ -642,6 +642,15 @@ var Attachments = Backbone.Collection.extend(/** @lends wp.media.model.Attachmen
 	 * @returns {Boolean}
 	 */
 	validator: function( attachment ) {
+
+		// Filter out contextually created attachments (e.g. headers, logos, etc.).
+		if (
+			! _.isUndefined( attachment.attributes.context ) &&
+			'' !== attachment.attributes.context
+		) {
+			return false;
+		}
+
 		if ( ! this.validateDestroyed && attachment.destroyed ) {
 			return false;
 		}
diff --git src/wp-includes/js/media-views.js src/wp-includes/js/media-views.js
index 3287b73762..ee4905aeb6 100644
--- src/wp-includes/js/media-views.js
+++ src/wp-includes/js/media-views.js
@@ -953,9 +953,6 @@ Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar
 			}) );
 		}
 
-		this._filterContext();
-		this.get('library').on( 'add', this._filterContext, this );
-
 		this.resetDisplays();
 	},
 
@@ -1157,18 +1154,6 @@ Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar
 		}
 	},
 
-	/**
-	 * Filter out contextually created attachments (e.g. headers, logos, etc.)
-	 *
-	 * @since 4.9.0
-	 */
-	_filterContext: function() {
-		var library = this.get('library');
-
-		library.set( library.filter( function( item ) {
-			return item.get('context') === '';
-		} ) );
-	}
 });
 
 // Make selectionSync available on any Media Library state.
diff --git src/wp-includes/js/media/controllers/library.js src/wp-includes/js/media/controllers/library.js
index 6f30cbb354..0422572c68 100644
--- src/wp-includes/js/media/controllers/library.js
+++ src/wp-includes/js/media/controllers/library.js
@@ -85,9 +85,6 @@ Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar
 			}) );
 		}
 
-		this._filterContext();
-		this.get('library').on( 'add', this._filterContext, this );
-
 		this.resetDisplays();
 	},
 
@@ -289,18 +286,6 @@ Library = wp.media.controller.State.extend(/** @lends wp.media.controller.Librar
 		}
 	},
 
-	/**
-	 * Filter out contextually created attachments (e.g. headers, logos, etc.)
-	 *
-	 * @since 4.9.0
-	 */
-	_filterContext: function() {
-		var library = this.get('library');
-
-		library.set( library.filter( function( item ) {
-			return item.get('context') === '';
-		} ) );
-	}
 });
 
 // Make selectionSync available on any Media Library state.
diff --git src/wp-includes/js/media/models/attachments.js src/wp-includes/js/media/models/attachments.js
index c76bbbdfac..06510ef9fc 100644
--- src/wp-includes/js/media/models/attachments.js
+++ src/wp-includes/js/media/models/attachments.js
@@ -151,6 +151,15 @@ var Attachments = Backbone.Collection.extend(/** @lends wp.media.model.Attachmen
 	 * @returns {Boolean}
 	 */
 	validator: function( attachment ) {
+
+		// Filter out contextually created attachments (e.g. headers, logos, etc.).
+		if (
+			! _.isUndefined( attachment.attributes.context ) &&
+			'' !== attachment.attributes.context
+		) {
+			return false;
+		}
+
 		if ( ! this.validateDestroyed && attachment.destroyed ) {
 			return false;
 		}
