NTSB finding section · Aircraft › Aircraft systems

Cases
459
In the probable cause
410 (89%)
Fatal cases
79
NTSB code
010227

NTSB has coded findings and defining events since 2008. Earlier cases used its older occurrence and cause codes, so they aren’t counted here.

When and where

In green, cases where NTSB made it part of the probable cause; in gray, a factor or other finding. Findings are coded with the final report, often a year or more after the event, so the latest years are incomplete.

Cases per year

2008In the probable causeFactor only2026
Cases with Flight control system per year: 459 cases
200832
200925
201036
201128
201231
201329
201425
201519
201622
201731
201823
201923
202022
202126
202221
202323
202426
202514
20263
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT f.case_mkey) AS cases,
    count(DISTINCT f.case_mkey) FILTER (WHERE f.\"inProbableCause\") AS in_probable_cause
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = f.case_mkey
  WHERE starts_with(f.\"findingCode\", '010227') AND c.\"eventDate\" >= DATE '2000-01-01'
  GROUP BY 1
  ORDER BY 1"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

Subsections · 20

Query with SQL
duckdb -csv -c "SELECT left(f.\"findingCode\", 8) AS code, max(f.\"tier4Name\") AS name,
    count(DISTINCT f.case_mkey) AS cases,
    count(DISTINCT f.case_mkey) FILTER (WHERE f.\"inProbableCause\") AS in_probable_cause
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f
  WHERE starts_with(f.\"findingCode\", '010227') AND f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY 1
  ORDER BY cases DESC, code"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

In the same cases

Query with SQL
duckdb -csv -c "WITH matched AS (SELECT DISTINCT case_mkey, aircrafts_position FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' WHERE starts_with(\"findingCode\", '010227'))
  SELECT * FROM (
  SELECT 'Defining event' AS kind, e.\"tier2Number\" AS code, max(e.\"eventTier2Name\") AS name, count(DISTINCT f.case_mkey) AS cases
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_events.parquet' e ON e.case_mkey = f.case_mkey AND e.aircrafts_position = f.aircrafts_position AND e.\"isDefiningEvent\"
  WHERE e.\"tier2Number\" <> ''
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT f.case_mkey)
  FROM matched f JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = f.case_mkey AND a.position = f.aircrafts_position
  LEFT JOIN 'https://openairdocs.org/data/latest/faa_aircraft_model.parquet' m ON m.code = a.aircraft_model_code
  WHERE a.aircraft_model_code IS NOT NULL
  GROUP BY ALL
  UNION ALL
  SELECT 'Other finding', left(g.\"findingCode\", 8), max(g.\"tier4Name\"), count(DISTINCT g.case_mkey)
  FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' g
  WHERE g.case_mkey IN (SELECT case_mkey FROM matched) AND NOT starts_with(g.\"findingCode\", '010227') AND g.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  )
  QUALIFY row_number() OVER (PARTITION BY kind ORDER BY cases DESC) <= 10
  ORDER BY kind, cases DESC"

Prints the counts as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

Newest cases · 459

NTSB WPR26LA115Accident · No injuriesClass 4 · LimitedFinal reportMightyfly MF-100 · Atwater, CAA control system anomaly, which resulted in the overload and failure of one of the propulsion motor systems during the transition from hover to forward flight.Mar 2, 2026 · N258MF · DestroyedNTSB ERA26LA130Accident · No injuriesClass 4 · LimitedFinal reportTextron 680A · Miami, FLThe flight crew’s failure to maintain adequate clearance from the blast fence during taxi to the runway for departure, and their inadequate inspection of the airplane after it contacted the blast fence.Feb 27, 2026 · N519QS · Substantial damageNTSB CEN26LA092Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 172 · San Marcos, TXThe flight instructor’s failure to properly configure the elevator trim for the takeoff, that resulted in a hard landing. Contributing to the accident was the flight instructor’s failure to follow the before takeoff checklist.Jan 7, 2026 · N5136E · Substantial damageNTSB ENG26LA011Incident · No injuriesClass 4 · LimitedFinal reportBombardier CL-600-2C11 · Hibbing, MNThe elevator control restriction was caused by the failure of an elevator autopilot servo control cable which failed due to cyclic fatigue. The slack in the cable wrapped around the servo mount in such a way that it interfered with the rotation of the servo…Nov 23, 2025 · N707EV · No damageNTSB CEN26LA033Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 182H · Lakeview, ARThe pilot’s failure to maintain a proper approach path during landing which resulted in a collision with terrain short of the runway. Contributing to the accident was the improper flap position during landing, and the pilot being fatigued.Oct 30, 2025 · N2040X · Substantial damageNTSB ERA26LA023Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 152 · St. Augustine, FLThe student pilot’s failure to properly set the elevator trim prior to takeoff, which resulted in her inability to effectively control the airplane’s pitch and a collision with trees at the end of the runway during initial climb.Oct 23, 2025 · N95005 · Substantial damageNTSB WPR26LA029Accident · No injuriesClass 4 · LimitedFinal reportRoderick James Willmore Kitfox S7 Supersport · Kilgore, IDThe pilot's failure to maintain directional control during the takeoff. Contributing to the accident was the separation of the control stick grip.Oct 18, 2025 · N98RW · Substantial damageNTSB ERA26LA009Accident · No injuriesClass 4 · LimitedFinal reportCessna 182H · Smithfield, RIMaintenance personnel’s improper rigging of the elevator trim system, which resulted in a hard landing. Contributing was the maintenance personnel and pilot’s failure to perform adequate post maintenance/preflight inspections.Oct 4, 2025 · N1998X · Substantial damageNTSB WPR25LA283Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 150F · Rigby, IDThe flight instructor’s improper flap position during takeoff, which resulted in degraded climb performance and a subsequent impact with a building.Sep 17, 2025 · N8047F · Substantial damageNTSB CEN25LA337Accident · Minor injuriesClass 4 · LimitedFinal reportBell OH-58A · Caseville, MIThe front seat passenger’s inadvertent movement of the cyclic control resulting in a dynamic rollover after landing. Contributing to the accident was the pilot’s decision to leave the dual flight controls installed with a non-pilot passenger in the front seat.Aug 23, 2025 · N707EE · Substantial damage
See all 459 cases
Query with SQL
duckdb -csv -c "SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
  FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
  WHERE c.\"mKey\" IN (SELECT f.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f WHERE starts_with(f.\"findingCode\", '010227'))
  ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"

Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.