diff --git a/steps/findRefAnt_join.cwl b/steps/findRefAnt_join.cwl
index a18ad13a1cd6527a5e548d681d87c2b20adddc5e..bf9bd2857977ed5255a9f3d37bdc52769f3854cc 100644
--- a/steps/findRefAnt_join.cwl
+++ b/steps/findRefAnt_join.cwl
@@ -46,19 +46,26 @@ requirements:
             with open('input.json', 'r') as f_stream:
                 flagged_fraction_dict_list = json.load(f_stream)
             filter_station = '$(inputs.filter_station)'
+            no_station_selected = True
     
-            flagged_fraction_data = {}
-            for flagged_fraction_dict in flagged_fraction_dict_list:
-                entry = ast.literal_eval(flagged_fraction_dict)
-                antennas = entry.keys()
-                selected_stations = [ station_name for station_name in antennas if re.match(filter_station, station_name) ]
-                if len(selected_stations) == 0:
-                    raiseError('No stations left after filtering.')
-                for antenna in selected_stations:
-                    try:
-                        flagged_fraction_data[antenna].append(float(entry[antenna]))
-                    except KeyError:
-                        flagged_fraction_data[antenna] = [float(entry[antenna])]
+            while no_station_selected:
+                print('Applying station filter ' + str(filter_station))
+                flagged_fraction_data = {}
+                no_station_selected = False
+                for flagged_fraction_dict in flagged_fraction_dict_list:
+                    entry = ast.literal_eval(flagged_fraction_dict)
+                    antennas = entry.keys()
+                    selected_stations = [ station_name for station_name in antennas if re.match(filter_station, station_name) ]
+                    if len(selected_stations) == 0:
+                        print('No stations left after filtering. Station(s) do(es) not exist in all subbands. No filter is used.')
+                        filter_station = ''
+                        no_station_selected = True
+                        break
+                    for antenna in selected_stations:
+                        try:
+                            flagged_fraction_data[antenna].append(float(entry[antenna]))
+                        except KeyError:
+                            flagged_fraction_data[antenna] = [float(entry[antenna])]
 
             flagged_fraction_list = []
             sorted_stations = sorted(flagged_fraction_data.keys())