Index: aircraft_cmd.c =================================================================== --- aircraft_cmd.c (revision 5454) +++ aircraft_cmd.c (working copy) @@ -68,11 +68,13 @@ uint distance; // don't crash the plane if we know it can't land at the airport - if (HASBIT(v->subtype, 1) && st->airport_type == AT_SMALL && + if ((AircraftVehInfo(v->engine_type)->subtype & AIR_FAST) && + ((st->airport_type == AT_SMALL) || (st->airport_type == AT_COMMUTER)) && !_cheats.no_jetcrash.value) continue; - distance = DistanceSquare(v->tile, st->airport_tile); + // v->tile can't be used here, when aircraft is flying v->tile is set to 0 + distance = DistanceSquare(TileVirtXY(v->x_pos, v->y_pos), st->airport_tile); if (distance < best || index == INVALID_STATION) { best = distance; index = st->index;