diff --git a/lib/content-services/src/lib/search/services/base-query-builder.service.ts b/lib/content-services/src/lib/search/services/base-query-builder.service.ts
index 744f46782c..7449118f4e 100644
--- a/lib/content-services/src/lib/search/services/base-query-builder.service.ts
+++ b/lib/content-services/src/lib/search/services/base-query-builder.service.ts
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-import { Subject, Observable, from, ReplaySubject, BehaviorSubject } from 'rxjs';
+import { BehaviorSubject, from, Observable, ReplaySubject, Subject } from 'rxjs';
 import { AppConfigService } from '@alfresco/adf-core';
 import {
-    SearchRequest,
     RequestFacetFields,
-    RequestSortDefinitionInner,
-    ResultSetPaging,
     RequestHighlight,
     RequestScope,
+    RequestSortDefinitionInner,
+    ResultSetPaging,
+    SEARCH_LANGUAGE,
     SearchApi,
-    SEARCH_LANGUAGE
+    SearchRequest
 } from '@alfresco/js-api';
 import { SearchCategory } from '../models/search-category.interface';
 import { FilterQuery } from '../models/filter-query.interface';
@@ -68,6 +68,9 @@ export abstract class BaseQueryBuilderService {
     /*  Stream that emits search forms  */
     searchForms = new ReplaySubject<SearchForm[]>(1);
 
+    /*  Stream that emits void when change in filterQueries  */
+    filterQueryUpdate = new Subject<void>();
+
     /*  Stream that emits the initial value for some or all search filters */
     populateFilters = new BehaviorSubject<{ [key: string]: any }>({});
 
@@ -247,6 +250,7 @@ export abstract class BaseQueryBuilderService {
             const existing = this.filterQueries.find((filterQuery) => filterQuery.query === query);
             if (!existing) {
                 this.filterQueries.push({ query });
+                this.filterQueryUpdate.next();
             }
         }
     }
@@ -259,6 +263,7 @@ export abstract class BaseQueryBuilderService {
     removeFilterQuery(query: string): void {
         if (query) {
             this.filterQueries = this.filterQueries.filter((filterQuery) => filterQuery.query !== query);
+            this.filterQueryUpdate.next();
         }
     }
 
diff --git a/lib/content-services/src/lib/search/services/search-query-builder.service.spec.ts b/lib/content-services/src/lib/search/services/search-query-builder.service.spec.ts
index 18aadf4d90..8ff82e9873 100644
--- a/lib/content-services/src/lib/search/services/search-query-builder.service.spec.ts
+++ b/lib/content-services/src/lib/search/services/search-query-builder.service.spec.ts
@@ -201,6 +201,14 @@ describe('SearchQueryBuilder', () => {
         expect(builder.filterQueries.length).toBe(2);
     });
 
+    it('should call filterQueryUpdate after adding or removing filterQuery', () => {
+        const builder = createQueryBuilder();
+        spyOn(builder.filterQueryUpdate, 'next');
+        builder.addFilterQuery('q1');
+        builder.removeFilterQuery('q1');
+        expect(builder.filterQueryUpdate.next).toHaveBeenCalledTimes(2);
+    });
+
     it('should fetch facet query from config', () => {
         const config: SearchConfiguration = {
             categories: [],