diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -1477,6 +1477,7 @@ void AircraftLeaveHangar(Aircraft *v, Di } VehicleServiceInDepot(v); + v->LeaveUnbunchingDepot(); SetAircraftPosition(v, v->x_pos, v->y_pos, v->z_pos); InvalidateWindowData(WC_VEHICLE_DEPOT, v->tile); SetWindowClassesDirty(WC_AIRCRAFT_LIST); @@ -1521,6 +1522,9 @@ static void AircraftEventHandler_InHanga return; } + /* Check if we should wait here for unbunching. */ + if (v->IsWaitingForUnbunching()) return; + if (!v->current_order.IsType(OT_GOTO_STATION) && !v->current_order.IsType(OT_GOTO_DEPOT)) return;