Index: src/train_cmd.cpp =================================================================== --- src/train_cmd.cpp (revision 16570) +++ src/train_cmd.cpp (working copy) @@ -2436,7 +2436,7 @@ } /* We are leaving a depot, but have to go to the exact same one; re-enter */ - if (v->tile == v->dest_tile) { + if (v->current_order.IsType(OT_GOTO_DEPOT) && v->tile == v->dest_tile) { /* We need to have a reservation for this to work. */ if (GetDepotWaypointReservation(v->tile)) return true; SetDepotWaypointReservation(v->tile, true);