B0091 is a body-class Diagnostic Trouble Code (DTC) that indicates an electrical or signal anomaly detected in the vehicle’s supplemental restraint/occupant sensing circuits. Per SAE J2012 the code is a system-level reporting value, not a diagnosis of a single failed part; exact interpretation can vary by make, model, and year. You must verify power, ground, reference voltages, continuity, and network message integrity before replacing components. Treat this code as a circuit or signal plausibility flag in the restraint system and follow test-driven steps to isolate the root cause.
What Does B0091 Mean?
This guide follows the SAE J2012 formatting convention and refers to the standardized descriptions published in the SAE J2012-DA digital annex. SAE J2012 defines the structure and class (body, chassis, powertrain, network) and gives standardized wording, but many body codes like B0091 do not map to a single universal component across all vehicles.
B0091 is shown here without a hyphen suffix (no Failure Type Byte present). If an FTB were included it would act as a subtype that narrows the failure mode (for example distinguishing short-to-battery from short-to-ground or implausible signal), but the base B0091 value indicates a detected circuit or signal fault in the supplemental restraint/occupant sensing system rather than a definitive failed device.
Quick Reference
- System: Supplemental Restraint / occupant sensing circuit
- Class: Body-class electrical or signal plausibility fault
- Typical tests: power/ground/reference checks, continuity, squib/resistance, CAN message monitoring
- FTB status: Code shown without FTB; an FTB would specify a failure subtype if present
- Diagnosis approach: Test-driven — confirm readings and plausibility before replacing modules or harnesses
Real-World Example / Field Notes
In workshop practice B0091 commonly appears after collision repairs, connector disturbance, or battery disconnects, but it is also reported on vehicles with intermittent connector corrosion. One possible cause commonly associated with this code is poor pin contact in a restraint-system connector, which creates a high-resistance path and an implausible signal to the restraint control module (Restraint Control Module (RCM)).
Technicians often see B0091 set alongside other restraint-related flags; treat those as correlated events, not confirmations of a single bad part. A careful job card begins with visual inspection: look for crushed connectors, aftermarket alarm modules, or water intrusion near seat belt pretensioner plugs. Do not guess squib resistance—measure it.
When diagnosing, record baseline network traffic with a CAN or LIN bus monitor if the vehicle uses networked sensors; missing or corrupted messages can set the code even when harness continuity reads OK. Also watch for stored post-crash data that may change failure behavior—some systems lock out after an impact and require specific reset steps per OEM procedure.
Safety note: always follow proper SRS safety procedures when working on restraint circuits. Disconnecting the battery and waiting the manufacturer-recommended time reduces risk, but confirm your vehicle’s specific safe-handling interval. Use a digital multimeter and a known-good reference when checking voltages and resistance; never rely on a single test result to justify module replacement.
B0091 is a Body-system diagnostic trouble code indicating a fault in an occupant restraint circuit signal. Per SAE J2012-DA the code structure and category are standardized, but many body codes do not map to a single universal component across all makes, models, and years. Interpretation often depends on the vehicle’s restraint system architecture and network design. Confirming the problem requires basic electrical and network testing — power/ground/reference checks, resistance/continuity, and message integrity on vehicle buses — rather than replacing parts by guesswork.
Symptoms of B0091
- Warning Lamp Airbag or occupant restraint warning lamp illuminated or flashing
- Seatbelt Light Seatbelt reminder or pretensioner indicators behave abnormally
- Diagnostic Data Scan tool shows B0091 stored with or without Freeze Frame data
- Intermittent Fault appears intermittently after bumps, door cycles, or seat movement
- Network Related modules report missing or implausible restraint messages on the bus
- Vehicle Behavior Restraint system self-test fails or some restraint features are disabled
Common Causes of B0091
Most Common Causes
- Loose, corroded, or poorly seated connectors in restraint harnesses; commonly associated with seat, buckle, or airbag module connectors
- Faulty power or ground to a restraint control module such as the Body Control Module (BCM) or an airbag Electronic Control Unit (ECU)
- Open or high-resistance wiring in an occupant detection, buckle, or squib circuit — one possible cause of the detected signal anomaly
Less Common Causes
- Intermittent Controller Area Network (CAN) bus errors preventing valid restraint messages from being received
- Corrosion or water intrusion in seat harnesses after seat removal or prolonged moisture exposure
- Aftermarket equipment or previous collision repairs that altered wiring or connector routing
Diagnosis: Step-by-Step Guide
Tools: digital multimeter, scan tool with live-data and On-Board Diagnostics II (OBD-II) capability, lab scope or CAN bus analyzer, backprobe pins or connector adapters, low-resistance ohmmeter, wiring diagrams/service manual, insulated hand tools, and personal protective equipment (airbag-safe gloves and eye protection).
- Connect a scan tool and record the exact DTC and any
record any additional restraint or network codes; save freeze frame and live-data for occupant sensing, buckle status, airbag readiness, and CAN bus error counters.
- Visually inspect seat, buckle, and module connectors for corrosion, loose pins, or bent terminals; unplug and reseat connectors while watching live data for changes.
- With key On engine Off, measure module power and ground circuits at the connector for proper battery voltage and low voltage drop; compare to expected vehicle system voltage.
- Backprobe the occupant detection or buckle signal and reference wires while toggling the buckle or applying weight to the seat cushion; verify correct idle voltages and that the signal changes plausibly.
- Use a lab scope to check signal integrity on suspect sensor lines; look for clean transitions, expected waveform shape, and absence of excessive noise or missing pulses that indicate wiring or sensor degradation.
- Perform a continuity and resistance check between harness connectors and the restraint control module; isolate any high-resistance sections and inspect for chafing, breaks, or corrosion.
- If CAN bus involvement is suspected, monitor the bus for message frequency, error frames, and nominal voltage levels with a CAN analyzer; unplug suspected nodes one at a time to isolate bus faults.
- Do a wiggle test of the seat wiring and connectors while observing live data and scope traces to expose intermittent faults that only appear under movement or load.
- After all wiring, power, ground, and sensor inputs test good, clear the code and run the restraint self-test; if the fault returns with good inputs, consider a possible internal processing or input-stage issue at the module and follow manufacturer procedure for bench diagnostics or replacement.
- Document all measurements, repairs, and retest results; road-test or cycle power per service guidelines to confirm the fault does not reappear under normal conditions.
Professional tip: Always disable the airbag system per manufacturer procedure before probing squib or inflator circuits, use insulated tools, and rely on measured voltages and waveforms rather than assumption; confirm repair by clearing codes and reproducing the test conditions that originally set the B0091 code.
Repair decisions must be based on measured test results: power, ground, reference, continuity and network message presence. Replace parts only after verifying the fault with multimeter, lab scope, or scan-tool data and confirming repair restores correct signals or messages.
Possible Fixes & Repair Costs
Low-cost fixes (low): $30–$120 — typically a connector cleaning, terminal re-seat, or minor splice repair. Justification: continuity restored and intermittent resistance drops vanish when measured after cleaning; related scan-tool errors clear and do not return after road test. Typical repair (typical): $150–$450 — includes replacing a damaged wiring section, seat-occupant sensor, or a control module input harness. Justification: measured open, short-to-ground, or out-of-spec resistance on the circuit that persists after connector service. High-cost scenario (high): $600–$1,400 — module replacement and programming or labor-intensive seat removal to replace a sensor mat. Justification: after power, ground, and wiring test good and message-level checks show missing or corrupted data, a possible internal processing or input-stage issue in the module is suspected; replace only after confirming external inputs and bus integrity. Factors affecting cost: labor hours for seat removal, diagnostic time, parts availability, and whether programming is required. Always document pre- and post-repair test values (voltage, resistance, reference signal, and scan-tool message counts) to justify the chosen repair.
Can I Still Drive With B0091?
You can sometimes drive with this code, but it depends on what the code affects. If the fault degrades occupant restraint sensing or message flow on a body network, airbags, seatbelt pretensioners, or occupant classification may be inhibited or behave unpredictably. If safety system availability is uncertain, avoid routine driving and have the system diagnosed promptly. Use measured scan-tool status and Mode $06/real-time data to assess system readiness before deciding to continue driving.
What Happens If You Ignore B0091?
Ignoring B0091 risks intermittent or permanent loss of correct restraint system behavior, false disablement of occupant protection, or unexpected warning lamps. It can also mask other electrical problems and increase repair time and cost later. Diagnosis and repair guided by measured failures reduce safety risk and downstream damage.
Key Takeaways
- Test first — verify power, ground, reference, continuity and network messages before replacing parts.
- Connector service — corrosion or loose terminals are common and low-cost to fix if confirmed by measurements.
- Module caution — consider internal module issues only after all external inputs and bus integrity test good.
- Safety impact — occupant restraint behavior can be affected; prioritize repairs that restore validated signals.
Vehicles Commonly Affected by B0091
This code is commonly seen on vehicles from Toyota, Honda, and Ford, often reported on models with integrated occupant classification systems and body control modules that share sensor data over complex networks. Variability by model year and manufacturer architecture means the exact component tied to B0091 can differ; confirm with wiring and message-level tests for each vehicle.
FAQ
Can I clear B0091 and hope it stays away?
Clearing the code is a temporary step and useful for confirming if a fault is intermittent. If the code returns, you have a reproducible issue that needs measurement. Use a scan tool to record freeze-frame, real-time data, and Mode $06 values before and after clearing. If the fault does not return, perform a monitored road test and recheck message integrity; don’t assume the problem is solved without evidence.
Is a seat sensor the only possible cause for B0091?
No. A seat sensor or mat is one possible cause, but wiring faults, connector corrosion, poor grounds, or message bus issues can produce the same code. Confirm with continuity, resistance, and voltage checks at the sensor connector, plus network message presence on the body CAN. Replace sensors only after you document a failed sensor resistance or absence of expected messages with good external wiring.
What should a technician test first when diagnosing B0091?
First verify battery voltage and key-on power rails, then check chassis and module grounds. Next, measure reference voltages and sensor resistance at the connector and perform a continuity check to the module. Use a scan tool to confirm expected network messages and live data. Document failing measurements; if wiring, power, and ground are good but messages are missing, consider a possible internal processing or input-stage issue in the module.
Can a loose connector cause intermittent B0091 faults?
Yes. Intermittent faults are frequently caused by loose terminals, corrosion, or bent pins. Perform a wiggle test while monitoring live data and check resistance under load. If wiggle reproduces the fault and cleaning or reseating the connector restores stable measurements, a connector service or terminal replacement is justified based on those test results rather than replacing larger assemblies.
How long will a proper repair for B0091 take?
Repair time varies from under an hour for connector cleaning to several hours for seat removal and sensor replacement or module work. Accurate diagnosis typically takes 1–2 hours with a scan tool and multimeter. If external wiring is good but a module replacement is needed, add time for module programming and system verification. Always estimate based on confirmed test findings, not guesswork.
