diff --git a/flatland/envs/generators.py b/flatland/envs/generators.py
index b7f539f5dd2f84f35dea63c515935d2d9daa709c..241bc6a243e64f5dc3b216349fe903a1620dad87 100644
--- a/flatland/envs/generators.py
+++ b/flatland/envs/generators.py
@@ -896,6 +896,23 @@ def realistic_rail_generator(nr_start_goal=1, seed=0, add_max_dead_end=4, two_tr
         agents_target = []
         agents_direction = []
 
+        remove_a = []
+        for a in range(len(agents_positions)):
+            cell_transitions = grid_map.get_transitions(agents_positions[a][0], agents_positions[a][1],
+                                                        agents_directions[a])
+            if np.sum(cell_transitions) == 0:
+                for i in range(4):
+                    agents_directions[a] = i
+                    cell_transitions = grid_map.get_transitions(agents_positions[a][0], agents_positions[a][1],
+                                                                agents_directions[a])
+                    if np.sum(cell_transitions) != 0:
+                        break
+                if np.sum(cell_transitions):
+                    remove_a.extend([a])
+        for i in range(len(remove_a)):
+            agents_positions.pop(i)
+            agents_directions.pop(i)
+
         for a in range(min(len(agents_targets), num_agents)):
             t = np.random.choice(range(len(agents_targets)))
             d = agents_targets[t]
@@ -1048,7 +1065,7 @@ def sparse_rail_generator(num_cities=100, num_intersections=10, num_trainstation
                                     width - 1)
                 tries = 0
                 while (station_x, station_y) in train_stations or (station_x, station_y) == node_positions[
-                        trainstation_node] or rail_array[(station_x, station_y)] != 0:
+                    trainstation_node] or rail_array[(station_x, station_y)] != 0:
                     station_x = np.clip(
                         node_positions[trainstation_node][0] + np.random.randint(-node_radius, node_radius),
                         0,