diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index b4e372cd15..0ef0f49fec 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2149,7 +2149,7 @@ CommandCost CmdReverseTrainDirection(DoCommandFlags flags, VehicleID veh_id, boo */ static TrainForceProceeding DetermineNextTrainForceProceeding(const Train *t) { - if (t->force_proceed == TFP_SIGNAL) return TFP_NONE; + if (t->vehstatus.Test(VehState::Crashed) || t->force_proceed == TFP_SIGNAL) return TFP_NONE; if (!t->flags.Test(VehicleRailFlag::Stuck)) return t->IsChainInDepot() ? TFP_STUCK : TFP_SIGNAL; TileIndex next_tile = TileAddByDiagDir(t->tile, TrackdirToExitdir(t->GetVehicleTrackdir()));