Index: src/aircraft_cmd.cpp =================================================================== --- src/aircraft_cmd.cpp (revision 27927) +++ src/aircraft_cmd.cpp (working copy) @@ -634,6 +634,12 @@ * and take-off speeds being too low. */ speed_limit *= _settings_game.vehicle.plane_speed; + /* adjust speed for broken vehicles */ + if (v->vehstatus & VS_AIRCRAFT_BROKEN) { + speed_limit = min(speed_limit, SPEED_LIMIT_BROKEN); + hard_limit = false; + } + if (v->vcache.cached_max_speed < speed_limit) { if (v->cur_speed < speed_limit) hard_limit = false; speed_limit = v->vcache.cached_max_speed; @@ -653,8 +659,6 @@ spd = min(v->cur_speed + (spd >> 8) + (v->subspeed < t), speed_limit); - /* adjust speed for broken vehicles */ - if (v->vehstatus & VS_AIRCRAFT_BROKEN) spd = min(spd, SPEED_LIMIT_BROKEN); /* updates statusbar only if speed have changed to save CPU time */ if (spd != v->cur_speed) {