NTSB finding · Personnel issues › Task performance › Maintenance

Cases
14
In the probable cause
13 (93%)
Fatal cases
3
NTSB code
02062040

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 Unauthorized maint/repair per year: 14 cases
20081
20121
20131
20152
20162
20181
20191
20201
20222
20252
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\", '02062040') 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\", '02062040'))
  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\", '02062040') 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 · 14

NTSB ERA25LA295Accident · No injuriesClass 4 · LimitedFinal reportCessna 195 · Memphis, TNFailure of the left main landing gear due to the loss of the protective paint coating and a change in the local surface finish from impermissible grinding, which resulted in fatigue cracking.Aug 8, 2025 · N1950C · Substantial damageNTSB ERA25LA223Accident · No injuriesClass 4 · LimitedFinal reportPiper PA22 · Hebron, OHThe airplane owner and pilot’s intentional allowance of unapproved maintenance and maintenance personnel’s failure to adequately maintain or service the brake system, which resulted in a total loss of brake pressure.Jun 7, 2025 · N6804B · Substantial damageNTSB CEN22LA250Incident · No injuriesClass 3 · LimitedFinal reportBeech 58 · Evansville, INThe failure of the propeller blade due to high-cycle fatigue that originated from damage that occurred at an unknown time. Contributing to the accident was the failure to identify the damage before the accident flight.Jun 8, 2022 · N78KL · Minor damageNTSB WPR22LA090Accident · Minor injuriesClass 3 · LimitedFinal reportTextron TTX Inc. T240 · Ravendale, CAThe inadequate maintenance and inspection of the engine induction system, which resulted in the separation of the right induction tube from the turbocharger compressor outlet and the subsequent loss of engine power during departure.Jan 28, 2022 · N420WT · Substantial damageNTSB ERA20LA271Accident · 1 fatalClass 3 · LimitedFinal reportAmerican AA 5 · Dunnellon, FLA total loss of engine power due to fuel starvation as a result of improper installation and inspection of the airplane’s fuel system. Contributing to the accident was the pilot’s lack of certification and knowledge in aircraft maintenance.Aug 1, 2020 · N7192L · Substantial damageNTSB CEN19LA224Accident · No injuriesClass 3 · LimitedFinal reportPiper PA18 · Osceola, WIThe failure of the right horizontal stabilizer during takeoff, resulting in a loss of control and forced landing. Contributing to the accident was the installation of an unapproved stabilizer frame and failure of maintenance personnel to identify…Jul 14, 2019 · N6983B · Substantial damageNTSB ERA18FA138Accident · 1 fatalField investigationFinal reportPiper PA32 · West Milford, NJAn in-flight fire and total loss of engine power after takeoff due to a loose fuel line. Contributing to the accident was the installation of an unapproved fuel line by unknown personnel.May 2, 2018 · N4153R · DestroyedNTSB WPR16FA183Accident · Serious injuriesField investigationFinal reportCessna 182P · Gilbert, AZAn inadvertent explosion of pyrotechnics, which were contained in a box that had been installed on the airplane's left main landing gear assembly spring leg which resulted in shrapnel striking the airplane's left wing and breaching the left wing fuel tank,…Sep 18, 2016 · N20844 · DestroyedNTSB CEN16LA309Accident · No injuriesLimited investigationFinal reportCessna 172K · Neenah, WIA loss of engine power due to oil starvation, which resulted from the pilot, who was not a certified airframe and powerplant mechanic, removing the vacuum pump from the engine, and his misconception that he could operate the airplane without the pump.Aug 2, 2016 · N46459 · Substantial damageNTSB ERA16LA066Accident · Serious injuriesLimited investigationFinal reportRaytheon A36 · Fayetteville, NCMaintenance personnel's application of an unapproved sealant to the engine case halves during engine overhaul, contrary to manufacturer's instructions, which resulted in lubrication restriction due to a bearing shift and the subsequent internal failure of the…Dec 12, 2015 · N3241N · Substantial damage
See all 14 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\", '02062040'))
  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.