diff --git a/examples/flatland_2_0_example.py b/examples/flatland_2_0_example.py
index 4078f78fdf378b8d6b25f5d1d1f1af294d0e65eb..1d3c5191d6984428bbbeaf0840926576f69549f4 100644
--- a/examples/flatland_2_0_example.py
+++ b/examples/flatland_2_0_example.py
@@ -37,7 +37,7 @@ env = RailEnv(width=50,
                                                    max_tracks_in_city=4,
                                                    ),
               schedule_generator=sparse_schedule_generator(),
-              number_of_agents=200,
+              number_of_agents=10,
               stochastic_data=stochastic_data,  # Malfunction data generator
               obs_builder_object=GlobalObsForRailEnv(),
               remove_agents_at_target=True
diff --git a/flatland/envs/schedule_generators.py b/flatland/envs/schedule_generators.py
index 2b572bfe646220ede95c761237641607a9708348..0a4e7e3b56b89eac520b4f923e2451e307fc3dbd 100644
--- a/flatland/envs/schedule_generators.py
+++ b/flatland/envs/schedule_generators.py
@@ -74,11 +74,15 @@ def sparse_schedule_generator(speed_ratio_map: Mapping[float, float] = None) ->
             # Set target for agent
             start_city = agent_start_targets_nodes[agent_idx][0]
             target_city = agent_start_targets_nodes[agent_idx][1]
-            agent_orientation = (agent_start_targets_nodes[agent_idx][2] + np.random.choice([0, 2])) % 4
+
             start_city_idx = np.random.randint(len(train_stations[start_city]))
             start = train_stations[start_city][start_city_idx]
             target_station_idx = np.random.randint(len(train_stations[target_city]))
             target = train_stations[target_city][target_station_idx]
+            agent_orientation = (agent_start_targets_nodes[agent_idx][2] + 2 * start[1]) % 4
+            if not rail.check_path_exists(start[0], agent_orientation, target[0]):
+                agent_orientation = (agent_orientation + 2) % 4
+            print(rail.check_path_exists(start[0], agent_orientation, target[0]))
             agents_position.append((start[0][0], start[0][1]))
             agents_target.append((target[0][0], target[0][1]))