diff --git a/flatland/envs/rail_env.py b/flatland/envs/rail_env.py
index 8a2bcf49ff2301cb47ff74acada59ca5b8ccbef8..c98b1689f95b18e5a1baa2d57c270bc2fcae14cc 100644
--- a/flatland/envs/rail_env.py
+++ b/flatland/envs/rail_env.py
@@ -226,10 +226,11 @@ class RailEnv(Environment):
                 agent.moving = False
                 self.rewards_dict[iAgent] += stop_penalty
 
-            if not agent.moving and \
-                (action == RailEnvActions.MOVE_LEFT or
-                 action == RailEnvActions.MOVE_FORWARD or
-                 action == RailEnvActions.MOVE_RIGHT):
+            if not agent.moving and action == RailEnvActions.MOVE_FORWARD:
+                # Only allow agent to start moving by pressing forward.
+                #(action == RailEnvActions.MOVE_LEFT or
+                # action == RailEnvActions.MOVE_FORWARD or
+                # action == RailEnvActions.MOVE_RIGHT):
                 agent.moving = True
                 self.rewards_dict[iAgent] += start_penalty
 
@@ -244,7 +245,7 @@ class RailEnv(Environment):
                 else:
                     # Logic: if the chosen action is invalid,
                     # and it was LEFT or RIGHT, and the agent was moving, then keep moving FORWARD.
-                    if action == RailEnvActions.MOVE_LEFT or action == RailEnvActions.MOVE_RIGHT and agent.moving:
+                    if (action == RailEnvActions.MOVE_LEFT or action == RailEnvActions.MOVE_RIGHT) and agent.moving:
                         cell_isFree, new_cell_isValid, new_direction, new_position, transition_isValid = \
                             self._check_action_on_agent(RailEnvActions.MOVE_FORWARD, agent)