diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 776c439242..43681cbb06 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -454,7 +454,7 @@ const Order *OrderList::GetNextDecisionNode(const Order *next, uint hops, uint32 } if (next->IsType(OT_GOTO_DEPOT)) { - if (next->GetDepotActionType() == ODATFB_HALT) return NULL; + if (next->GetDepotActionType() & ODATFB_HALT) return NULL; if (next->IsRefit()) return next; } diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 10552642e0..9eb46a2df7 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -1901,7 +1901,7 @@ void VehicleEnterDepot(Vehicle *v) if (v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) { v->DeleteUnreachedImplicitOrders(); UpdateVehicleTimetable(v, true); - if (v->current_order.IsWaitTimetabled()) { + if (v->current_order.IsWaitTimetabled() && !(v->current_order.GetDepotActionType() & ODATFB_HALT)) { v->current_order.MakeWaiting(); v->current_order.SetNonStopType(ONSF_NO_STOP_AT_ANY_STATION); return;