diff --git a/src/js/_enqueues/wp/customize/controls.js b/src/js/_enqueues/wp/customize/controls.js
index 1d402bc1c3..2686e476e7 100644
--- a/src/js/_enqueues/wp/customize/controls.js
+++ b/src/js/_enqueues/wp/customize/controls.js
@@ -2105,6 +2105,13 @@
 			request.done(function( data ) {
 				var themes = data.themes;
 
+				if ( section.tagEmpty ) {
+					section.tagEmpty = false;
+					section.loading = false;
+					section.tags = '';
+					section.loadThemes();
+					return;
+				}
 				// Stop and try again if the term changed while loading.
 				if ( '' !== section.nextTerm || '' !== section.nextTags ) {
 					if ( section.nextTerm ) {
@@ -2324,6 +2331,9 @@
 			if ( ! _.isEqual( section.tags, tags ) ) {
 				if ( section.loading ) {
 					section.nextTags = tags;
+					if ( 0 === tags.length ) {
+						section.tagEmpty = true;
+					}
 				} else {
 					if ( 'remote' === section.params.filter_type ) {
 						section.initializeNewQuery( section.term, tags );
@@ -2361,6 +2371,7 @@
 				section.tags = newTags;
 				section.loadThemes();
 			} else {
+				section.tagEmpty = true;
 				section.nextTerm = newTerm; // This will reload from loadThemes() with the newest term once the current batch is loaded.
 				section.nextTags = newTags; // This will reload from loadThemes() with the newest tags once the current batch is loaded.
 			}
