diff --git a/examples/flatland_2_0_example.py b/examples/flatland_2_0_example.py
index 2a6d90b02de79ca40c09bdcd0c80888386b4c8f8..7916c4e5057c5746b7d30d5ba2c9bfaab2d4b997 100644
--- a/examples/flatland_2_0_example.py
+++ b/examples/flatland_2_0_example.py
@@ -91,7 +91,7 @@ action_dict = dict()
 print("Start episode...")
 # Reset environment and get initial observations for all agents
 obs = env.reset()
-
+print(env.get_num_agents(), )
 # Reset the rendering sytem
 env_renderer.reset()
 
diff --git a/flatland/envs/schedule_generators.py b/flatland/envs/schedule_generators.py
index 85fb380a3f244e870c7d233c585e8b04fe339e01..1e94ef2739282a86f266217ca977d00f02b8d904 100644
--- a/flatland/envs/schedule_generators.py
+++ b/flatland/envs/schedule_generators.py
@@ -89,10 +89,17 @@ def sparse_schedule_generator(speed_ratio_map: Mapping[float, float] = None) ->
                 track_to_use = 0
             else:
                 track_to_use = 1
+
             for i in range(len(start_slots[current_start_node])):
                 if start_slots[current_start_node][i][1] == track_to_use:
                     start_station_idx = i
                     break
+                else:
+                    start_station_idx = None
+
+            if start_station_idx is None:
+                warnings.warn("No slot available with required start orientation")
+                continue
             start = start_slots[current_start_node][start_station_idx]
             start_slots[current_start_node].pop(start_station_idx)