NTSB finding · Personnel issues › Action/decision › Action

Cases
52
In the probable cause
50 (96%)
Fatal cases
11
NTSB code
02041045

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 Unnecessary action per year: 52 cases
20081
20092
20103
20115
20122
20133
20142
20153
20166
20172
20183
20193
20214
20225
20233
20252
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\", '02041045') 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.

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\", '02041045'))
  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\", '02041045') 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 · 52

NTSB ERA26LA255Accident · Minor injuriesClass 4 · LimitedFinal reportCessna 172M · Lafayette, TNThe passenger’s abrupt manipulation of the flight controls during takeoff, which resulted in a loss of directional control and collision with a fence.Jun 30, 2026 · N6814H · Substantial damageNTSB ERA26LA229Accident · No injuriesClass 4 · LimitedFinal reportHawker Beechcraft G36 · Danbury, CTThe pilot’s decision to abort the takeoff with insufficient runway remaining, which resulted in a runway excursion.Jun 4, 2026 · N726EA · Substantial damageNTSB CEN26LA091Accident · Minor injuriesClass 4 · LimitedFinal reportBellanca 17-30A · Burnet, TXThe pilot’s improper judgement to relinquish his pilot responsibilities to the passenger with the engine operating, which resulted in a loss of airplane control and impact with a parked vehicle.Jan 15, 2026 · N8213R · Substantial damageNTSB ERA25LA147Accident · Serious injuriesClass 4 · LimitedFinal reportChampion 7AC · Palmetto, FLThe flight instructor’s inability to overpower control inputs made by the student pilot during initial climb, which resulted in the airplane impacting powerlines and the ground.Mar 18, 2025 · N1369E · Substantial damageNTSB DCA25LA114Occurrence · No injuriesClass 3 · LimitedFinal reportAirbus Industrie A319 · Houston, TXThe failure of the cabin crew to activate the evacuation alarm and to maintain coordinated communication with the flight crew following the cabin crew’s decision to command an evacuation, which resulted in an engine running during the initial evacuation.…Feb 2, 2025 · N837UA · No damageNTSB CEN24LA031Accident · Serious injuriesClass 3 · LimitedFinal reportPowrachute Pegasus · Manhattan, KSThe pilot’s improper modification of the engine cooling system that resulted in an engine overheat and total loss of power. Contributing to the accident was the pilot’s decision to continue the flight after the engine overheat light illuminated instead of…Oct 21, 2023 · N52631 · Substantial damageNTSB ANC23LA084Accident · No injuriesClass 4 · LimitedFinal reportPiper PA-18-150 · Bethel, AKThe pilot’s excessive use of brakes during landing roll, which resulted in a nose-over.Sep 20, 2023 · N8192D · Substantial damageNTSB CEN23LA186Accident · Serious injuriesClass 4 · LimitedFinal reportBeech F33A · Tahlequah, OKThe pilot’s failure to remove the wheel chocks before engine start which resulted in the inadvertent contact with the propeller while the engine was running.May 6, 2023 · N2294L · Minor damageNTSB CEN23LA047Accident · Minor injuriesClass 4 · LimitedFinal reportSeace David A Gyroplane · Iredell, TXThe pilot's failure to maintain clearance from a power line during low-level maneuvering.Nov 22, 2022 · N44088 · Substantial damageNTSB CEN22FA203Accident · 1 fatalClass 3 · FieldFinal reportAmerican AA-1A · Cleburne, TXThe student pilot’s decision to operate the airplane after consuming alcohol, which led to an exceedance of the airplane’s critical angle of attack, an aerodynamic stall, and a subsequent loss of control at a low altitude.May 17, 2022 · N6409L · Substantial damage
See all 52 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\", '02041045'))
  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.