diff --git a/newgrf.c b/newgrf.c --- a/newgrf.c +++ b/newgrf.c @@ -589,15 +589,15 @@ static bool AircraftVehicleChangeInfo(ui case 0x09: { /* Helicopter */ FOR_EACH_OBJECT { uint8 heli = grf_load_byte(&buf); - - avi[i].subtype = (heli == 0) ? 0 : 1; + avi[i].subtype &= ~0x01; // remove old property + avi[i].subtype &= (heli == 0) ? 0 : 1; } } break; case 0x0A: { /* Large */ FOR_EACH_OBJECT { uint8 large = grf_load_byte(&buf); - - avi[i].subtype = (large == 1) ? 3 : 1; + avi[i].subtype &= ~0x02; // remove old property + avi[i].subtype &= (large == 1) ? 2 : 0; } } break; case 0x0B: { /* Cost factor */