diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 800c4aca92..0c43bdd3f7 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -1712,6 +1712,12 @@ bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth) return true; case OT_GOTO_DEPOT: + if ((order->GetDepotOrderType() & ODTFB_SERVICE) && !v->NeedsServicing()) { + UpdateVehicleTimetable(v, true); + v->IncrementOrderIndex(); + break; + } + if (v->current_order.GetDepotActionType() & ODATFB_NEAREST_DEPOT) { /* We need to search for the nearest depot (hangar). */ TileIndex location; @@ -1736,9 +1742,6 @@ bool UpdateOrderDest(Vehicle *v, const Order *order, int conditional_depth) return true; } - UpdateVehicleTimetable(v, true); - v->IncrementOrderIndex(); - } else if ((order->GetDepotOrderType() & ODTFB_SERVICE) && !v->NeedsServicing()) { UpdateVehicleTimetable(v, true); v->IncrementOrderIndex(); } else {