diff --git a/polygerrit-ui/app/models/flows/flows-model.ts b/polygerrit-ui/app/models/flows/flows-model.ts
index 70f0661..460cec6 100644
--- a/polygerrit-ui/app/models/flows/flows-model.ts
+++ b/polygerrit-ui/app/models/flows/flows-model.ts
@@ -12,6 +12,7 @@
 
 import {NumericChangeId} from '../../types/common';
 import {getAppContext} from '../../services/app-context';
+import {KnownExperimentId} from '../../services/flags/flags';
 
 export interface FlowsState {
   flows: FlowInfo[];
@@ -32,6 +33,8 @@
 
   private readonly restApiService = getAppContext().restApiService;
 
+  private flagService = getAppContext().flagsService;
+
   constructor(private readonly changeModel: ChangeModel) {
     super({
       flows: [],
@@ -48,7 +51,11 @@
       combineLatest([this.changeModel.changeNum$, this.reload$])
         .pipe(
           switchMap(([changeNum]) => {
-            if (!changeNum) return of([]);
+            if (
+              !changeNum ||
+              !this.flagService.isEnabled(KnownExperimentId.SHOW_FLOWS_TAB)
+            )
+              return of([]);
             this.setState({...this.getState(), loading: true});
             return from(this.restApiService.listFlows(changeNum)).pipe(
               catchError(err => {
