diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 8fcb666..ab41a9f 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -973,7 +973,9 @@ CommandCost CmdBuildSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1, MarkTileDirtyByTile(tile); AddTrackToSignalBuffer(tile, track, _current_company); YapfNotifyTrackLayoutChange(tile, track); - if (v != NULL) TryPathReserve(v, true); + if (v != NULL) { + if (!v->current_order.IsType(OT_LOADING) || !IsSafeWaitingPosition(v, v->tile, v->GetVehicleTrackdir(), true, _settings_game.pf.forbid_90_deg)) TryPathReserve(v, true); + } } return cost;