Doors

NTSB finding section · Aircraft › Aircraft structures

Cases
112
In the probable cause
100 (89%)
Fatal cases
21
NTSB code
010352

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 Doors per year: 112 cases
200812
200911
201011
20117
20127
20135
20147
20159
20169
20176
20184
20192
20202
20215
20224
20232
20244
20253
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\", '010352') 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\", '010352') 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\", '010352'))
  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\", '010352') 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 · 112

NTSB ERA26LA292Accident · No injuriesClass 4 · LimitedFinal reportExtra Flugzeugproduktions-Und EA 300/LT · Whitehouse, OHThe pilot’s failure to ensure the canopy was properly locked before flight, which resulted in the canopy opening during takeoff.Aug 4, 2026 · N330SB · Substantial damageNTSB CEN26LA205Accident · No injuriesClass 4 · LimitedFinal reportVans RV4 · Conroe, TXThe pilot’s failure to properly latch the canopy before flight, which led to the canopy opening shortly after takeoff.May 13, 2026 · N292M · Substantial damageNTSB ERA26LA085Accident · No injuriesClass 4 · LimitedFinal reportBurkhart Grob Luft UND Raumfah G103 Twin Astir Trai · Brownsboro, ALThe flight instructor’s failure to properly lock the rear canopy prior to flight, which led to the canopy opening during aerotow at low altitude, and a subsequent off-airport landing in a corn field.Nov 26, 2025 · N103T · Substantial damageNTSB ERA25FA201Accident · 1 fatalClass 3 · FieldFinal reportPiper PA32RT · Yulee, FLThe pilot’s exceedance of the airplane’s critical angle of attack during takeoff, which resulted in a stall/spin at an altitude too low for recovery. Contributing to the accident was the opening of the nose baggage door and subsequent distraction of the pilot…May 10, 2025 · N30689 · DestroyedNTSB WPR25LA110Accident · Minor injuriesClass 3 · LimitedFinal reportRobinson Helicopter R44 II · Las Vegas, NVThe pilot’s loss of helicopter control after the door opened during takeoff. Contributing to the accident was the pilot’s failure to confirm that the door was properly closed before departure.Mar 10, 2025 · N44KY · Substantial damageNTSB ERA25LA070Accident · Serious injuriesClass 4 · LimitedFinal reportWilliam M Clapp CLAPP-SABERWING · Valdosta, GAA hard landing and subsequent gear collapse due to the pilot’s failure to securely close the airplane canopy and its subsequent opening on short final.Dec 7, 2024 · N100SW · Substantial damageNTSB ERA25LA063Accident · No injuriesClass 4 · LimitedFinal reportHoltz Rodney R Challenger II · Concord, NHThe pilot’s failure to maintain directional control and eventual stall/mush of the airplane while trying to secure an open door in flight.Nov 20, 2024 · N1666R · Substantial damageNTSB ERA24FA154Accident · 2 fatalClass 3 · FieldFinal reportMooney M20K · St. Augustine, FLThe pilot’s failure to maintain adequate airspeed of the airplane while in the traffic pattern, which resulted in an aerodynamic stall/spin. Contributing was the pilot’s distraction due to the in-flight opening of the main cabin door, which resulted from the…Mar 25, 2024 · N4387W · Substantial damageNTSB ERA24FA097Accident · Serious injuriesClass 3 · FieldFinal reportBeech C99 · Londonderry, NHThe pilot’s failure to ensure that the cockpit door was secured before flight, which resulted in its separation during initial climb and a subsequent loss of control.Jan 26, 2024 · N53RP · Substantial damageNTSB CEN23FA359Accident · 1 fatalClass 3 · FieldFinal reportVans RV14 · Virden, ILThe pilot/builder’s improper configuration of the canopy latch micro switch, which incorrectly signaled a closed canopy before flight that resulted in an inflight opening of the airplane’s canopy, an upset of the airplane, and a loss of control from which the…Aug 12, 2023 · N6161 · Substantial damage
See all 112 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\", '010352'))
  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.