diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -796,8 +796,6 @@ void DeleteOrder(Vehicle *v, VehicleOrde Vehicle *u = v->FirstShared(); DeleteOrderWarnings(u); for (; u != NULL; u = u->NextShared()) { - if (sel_ord < u->cur_order_index) u->cur_order_index--; - assert(v->orders.list == u->orders.list); /* NON-stop flag is misused to see if a train is in a station that is @@ -809,6 +807,8 @@ void DeleteOrder(Vehicle *v, VehicleOrde if (u->current_order.GetLoadType() & OLFB_FULL_LOAD) u->current_order.SetLoadType(OLF_LOAD_IF_POSSIBLE); } + if (sel_ord < u->cur_order_index) u->cur_order_index--; + /* Update any possible open window of the vehicle */ InvalidateVehicleOrder(u, sel_ord | (INVALID_VEH_ORDER_ID << 8)); }