NTSB defining event · CICTT: Abnormal Runway Contact

Defining event in
460 cases
In the sequence of
584 cases
Fatal cases
7
NTSB code
095

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 it was the defining event; in gray, cases where it came elsewhere in the sequence. The map shows the cases where it was the defining event. Events are coded with the final report, so the latest years are incomplete.

Cases per year

2008Defining eventElsewhere in the sequence2026
Cases with Landing gear not configured per year: 584 cases
200832
200927
201029
201130
201234
201327
201417
201524
201628
201736
201832
201935
202022
202131
202225
202337
202439
202547
202632
Query with SQL
duckdb -csv -c "SELECT year(c.\"eventDate\") AS year, count(DISTINCT e.case_mkey) AS cases,
    count(DISTINCT e.case_mkey) FILTER (WHERE e.\"isDefiningEvent\") AS defining
  FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = e.case_mkey
  WHERE e.\"tier2Number\" = '095' AND e.case_mkey IN (SELECT case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"isDefiningEvent\")
  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 these cases

Query with SQL
duckdb -csv -c "WITH defining AS (SELECT * FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' WHERE \"tier2Number\" = '095' AND \"isDefiningEvent\")
  SELECT * FROM (
  SELECT 'Phase of flight' AS kind, e.\"tier1Number\" AS code, max(e.\"eventTier1Name\") AS name, count(DISTINCT e.case_mkey) AS cases
  FROM defining e
  GROUP BY ALL
  UNION ALL
  SELECT 'Finding in the probable cause', left(f.\"findingCode\", 8), max(f.\"tier4Name\"), count(DISTINCT f.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_findings.parquet' f ON f.case_mkey = e.case_mkey AND f.aircrafts_position = e.aircrafts_position AND f.\"inProbableCause\"
  WHERE f.\"findingCode\" GLOB '[0-9][0-9]*'
  GROUP BY ALL
  UNION ALL
  SELECT 'Aircraft model', a.aircraft_model_code, any_value(concat_ws(' ', m.manufacturer, m.model)), count(DISTINCT e.case_mkey)
  FROM defining e JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = e.case_mkey AND a.position = e.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
  )
  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 · 460

NTSB WPR27LA016Accident · No injuriesClass 4 · LimitedInvestigation openPiper PA-30 · Reno, NVOct 12, 2026 · N7571Y · Substantial damageNTSB ERA26LA347Accident · No injuriesClass 4 · LimitedInvestigation openShaffer John Thomas KR-2 · Westminster, OHSep 20, 2026 · N455JS · Substantial damageNTSB WPR26LA316Accident · Minor injuriesClass 4 · LimitedInvestigation openPiper PA-12 · Bemidji, MNAug 21, 2026 · N7524H · Substantial damageNTSB WPR26LA311Accident · No injuriesClass 4 · LimitedInvestigation openCessna T210M · Logan, UTAug 21, 2026 · N761WT · Substantial damageNTSB ERA26LA322Accident · No injuriesClass 4 · LimitedInvestigation openPiper PA-32R-300 · Thomaston, GAAug 21, 2026 · N2297M · Substantial damageNTSB WPR26LA308Accident · No injuriesClass 4 · LimitedInvestigation openMitsubishi MU-2B-40 · Norton Shores, MIAug 15, 2026 · N5LC · Substantial damageNTSB ERA26LA308Accident · No injuriesClass 4 · LimitedInvestigation openPiper PA-28R-180 · Readington Township, NJAug 13, 2026 · N928LY · Substantial damageNTSB ANC26LA085Accident · No injuriesClass 4 · LimitedInvestigation openBeech 36 · Port Alsworth, AKAug 6, 2026 · N364EM · Substantial damageNTSB CEN26LA278Accident · No injuriesClass 4 · LimitedFinal reportCessna 310 · North Little Rock, ARThe flight instructor and pilot receiving instruction’s failure to verify that the landing gear was extended before landing, which resulted in a gear-up landing.Aug 1, 2026 · N3618G · Substantial damageNTSB CEN26LA262Accident · No injuriesClass 4 · LimitedInvestigation openBeech F33A · Janesville, WIJul 20, 2026 · N933A · Substantial damage
See all 460 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 e.case_mkey FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e WHERE e.\"isDefiningEvent\" AND e.\"tier2Number\" = '095')
  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.