NTSB finding section · Aircraft › Aircraft power plant

Cases
1,225
In the probable cause
1,143 (93%)
Fatal cases
176
NTSB code
010585

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 Engine (reciprocating) per year: 1,225 cases
200865
200974
201080
201188
201276
201366
201460
201567
201659
201764
201861
201969
202059
202172
202288
202393
202468
202514
20262
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\", '010585') 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 · 9

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\", '010585') 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\", '010585'))
  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\", '010585') 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 · 1,225

NTSB ERA26LA176Accident · No injuriesClass 3 · LimitedFinal reportIcon A5 · Levittown, PRAn oil line separation at a barbed fitting in an experimental airplane, which resulted in a total loss of engine power due to oil starvation.Apr 15, 2026 · N558BA · Substantial damageNTSB CEN26LA144Accident · Serious injuriesClass 4 · LimitedFinal reportMooney M20 · Northlake, TXThe pilot’s inadequate fuel management which resulted in a total loss of engine power due to fuel starvation.Mar 18, 2026 · N1374W · Substantial damageNTSB WPR26LA072Accident · No injuriesClass 4 · LimitedFinal reportZenith 750 · Yacolt, WAA loss of engine power for undetermined reasons.Dec 23, 2025 · N186BG · Substantial damageNTSB ERA26LA002Accident · No injuriesClass 4 · LimitedFinal reportMaule M-7-260 · Parkland, FLThe pilot’s failure to retract the amphibious airplane’s landing gear before conducting a forced landing on the water, which resulted in a nose over.Oct 4, 2025 · N368FS · Substantial damageNTSB CEN25LA401Accident · No injuriesClass 3 · LimitedFinal reportCubCrafters CCK-2000 · Thompsonville, MIA total loss of engine power due to a lack of ignition resulting from a fractured alternator ring terminal and the builder’s incorrect installation of the wire connecting to the alternator. Contributing to the total loss of engine power was the failure of the…Sep 7, 2025 · N40DT · Substantial damageNTSB CEN25LA322Accident · No injuriesClass 3 · LimitedFinal reportPiper PA-18-150 · Joliet, ILThe failure of the No. 2 cylinder exhaust valve, which resulted in a total loss of engine power.Aug 14, 2025 · N476SM · Substantial damageNTSB CEN25LA243Accident · Serious injuriesClass 4 · LimitedFinal reportStinson 108 · Seguin, TXThe pilot’s failure to turn off the magneto switch before repositioning the propeller by hand which resulted in an inadvertent engine start.Jul 8, 2025 · N97577 · No damageNTSB ERA25LA238Accident · No injuriesClass 3 · LimitedFinal reportCessna 310 · Fayetteville, TNThe pilot’s decision to operate the airplane with known discrepancies.Jun 24, 2025 · N5045Q · Substantial damageNTSB ERA25FA230Accident · 2 fatalClass 3 · FieldFinal reportMooney M20F · Beverly, MAThe pilot’s failure to maintain control of the airplane while maneuvering to return to the airport which resulted in an aerodynamic stall. Contributing to the accident was the improperly installed No. 2 cylinder bottom spark plug by maintenance personnel,…Jun 19, 2025 · N9573M · Substantial damageNTSB ERA25LA215Accident · Minor injuriesClass 3 · LimitedFinal reportPiper PA32-300 · Branford, CTMaintenance personnel's improper installation and inspection of the crankshaft gear bolt during major overhaul, which resulted in the crankshaft gear disengaging from the accessory gears which led to a total loss of engine power.Jun 1, 2025 · N2242Z · Substantial damage
See all 1,225 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\", '010585'))
  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.