OBD-II Code B2809: Vehicle Dynamics Control (VDC) Malfunction
What B2809 means, why it triggers, and how to fix it
- Code B2809 disables your vehicle's active safety systems, including ABS and traction control, requiring you to increase following distance and avoid aggressive maneuvers.
- On 2019 and newer Subarus, a hyper-sensitive software glitch causes 80% of B2809 codes; check for Technical Service Bulletins (like TSB 03-90-22) before replacing any parts.
- A weak battery dropping below 9.7 volts during engine cranking triggers this code instantly; perform a load test before assuming the VDC module has failed.
- B2809 frequently appears as a secondary fault; if your scanner shows engine codes like P0400 alongside it, fix the engine issue first to restore the VDC system.
What Does B2809 Mean?

Code B2809 indicates the Vehicle Dynamics Control (VDC) module detected an internal logic error, communication failure, or low voltage event. The main computer deactivates ABS and stability control as a safety precaution and illuminates dashboard warning lights.
Technical definition: Set when the VDC module fails an internal self-check, loses CAN bus communication with the Engine Control Module (ECM), or detects system voltage below operational thresholds (typically 9.7V) during engine startup.
Can I Drive With B2809?
Yes, But With Caution. Yes, but with significant caution. Your primary hydraulic brakes remain fully functional, but critical active safety systems—including anti-lock brakes (ABS), traction control (TCS), and vehicle stability control (VDC/ESC)—are disabled. The vehicle will not prevent wheel lock-up during hard braking or correct a skid. Stopping distances increase on wet or loose surfaces. Drive conservatively and avoid aggressive maneuvers until repaired.
Common Causes

- VDC Module Software Anomaly (Subaru) (Very Common) — On 2019+ Subaru vehicles, overly sensitive VDC software mistakenly flags normal, temporary voltage drops during engine start-up as critical failures. This sets the code even when no physical part has failed. Subaru addresses this via Technical Service Bulletins (TSBs) requiring a software update.
- Weak or Failing Battery (Common) — The VDC module requires stable voltage. An aging battery causes a momentary voltage drop below 9.7V during engine cranking. The module logs B2809 as a fault, making this a frequent cause on Subarus and Chevrolet C5 Corvettes.
- Primary Engine or Emissions Fault (Common) — A fault in a separate system causes a cascading failure. A sticking EGR valve, a loose gas cap, or engine misfires force the ECM into a protective mode. The ECM then commands the VDC system to shut down, logging B2809 as a secondary effect.
- Faulty Brake Light Switch (Less Common) — A failing brake light switch sends erratic signals to the brake control system. The VDC module interprets this conflicting data as a system fault and sets code B2809, even though the module itself functions correctly.
- Faulty VDC/ABS Control Module (Less Common) — The module fails internally due to a burnt relay, cracked solder joints from heat and vibration, or fluid intrusion. This hardware failure requires module repair or replacement and is often accompanied by code C0074.
- CAN Bus Communication Failure (Rare) — A short-to-ground, short-to-power, or open circuit in the CAN wiring prevents the VDC module from communicating with the ECM or steering angle sensor. Wire chafing, corrosion at connectors, or rodent damage causes this network crash.
Symptoms

- ABS, VDC, and Traction Control Lights Illuminated — The dashboard displays warning lights for the Anti-lock Brake System (ABS), Vehicle Dynamics Control (VDC), Electronic Stability Control (ESC), and Traction Control simultaneously.
- Advanced Driver Aids (ADAS) Disabled — Systems like Subaru's EyeSight, adaptive cruise control, and lane-keep assist automatically shut down. A corresponding warning message appears on the multi-function display.
- Service Column Lock Message (Corvette) — On Chevrolet C5 Corvettes, code B2809 triggers a 'Service Column Lock' message on the driver information center, indicating a Body Control Module fault.
- Refusal of Windshield Replacement Service (also visible on scanner) — Glass shops refuse windshield replacement on ADAS-equipped cars until the B2809 code is resolved, as active VDC faults prevent mandatory camera recalibration.
Diagnostic Flowchart

Tap your situation to follow the diagnostic path that matches what you're seeing on this code.
Common Fixes & Costs
- Reprogram VDC Control Module — Parts: $0, Labor: $150-$250, ~1.0 hr book time (Professional)
- Replace Vehicle Battery — Parts: $150-$300, Labor: $25-$50, ~0.5 hr book time (DIY)
- Resolve Primary Engine/EVAP Code — Parts: $20-$150, Labor: $100-$200, ~1.0 hr book time (Intermediate)
- Repair VDC/ABS Module (Mail-in Service) — Parts: $150-$400, Labor: $150-$300, ~2.0 hr book time (Intermediate)
- Replace VDC/ABS Control Module — Parts: $1200-$1800, Labor: $300-$600, ~2.5 hr book time (Professional)
Used vs. New Parts: Buying Guide
When a used part is worth it: A used VDC/ABS module makes sense for vehicles over 10 years old where a new $1,500 OEM part exceeds 20% of the vehicle's value. It reduces part costs by 50-80%.
Donor-vehicle mileage cap: roughly under 80000 miles for the part to have meaningful remaining life.
Donor quality checklist:
- Verify the part number matches exactly, including superseded numbers.
- Purchase from a reputable seller offering a 30-90 day warranty.
- Confirm the donor vehicle was not scrapped due to flood damage or electrical fires.
- Factor in the cost of dealership VIN programming, which is still required for used modules.
Decision logic:
- If Vehicle is under warranty or under 60k miles → Use a new OEM part for maximum reliability.
- If The original module has a known internal hardware failure → Choose a mail-in repair service to avoid VIN programming costs.
- If Vehicle is over 120k miles and budget is strict → Buy a tested used part from a low-mileage donor.
Warranty tradeoff: Used parts offer 30-90 day warranties. Mail-in repairs often provide 1-year to lifetime warranties on their soldering work. New OEM parts carry a 1-year/12,000-mile warranty.
Worst-case if a used part fails: $500-$900. If a used module fails, you pay for diagnostic and installation labor twice, plus the cost of another part.
What Happens If You Wait — Timeline
- Immediate (First 0-100 miles): Code B2809 sets. ABS, VDC, and Traction Control lights illuminate. EyeSight and cruise control disable. Hydraulic brakes function normally. (MPG impact: 0%% · Added cost: $0)
- 1 week - 2 months: Increased risk of skidding in emergencies. Vehicle fails state safety inspections. Glass shops refuse ADAS windshield calibration. (MPG impact: 0%% · Added cost: $50-$150 in failed inspection fees.)
- 2-6 months: If caused by a weak battery, cranking becomes noticeably slower. Parasitic drains cause repeated deep cycling, permanently destroying the battery. (MPG impact: 0%% · Added cost: $200-$450 for a new battery and tow.)
- 6+ months: If caused by wiring chafing, insulation wears through completely, shorting the CAN bus and disabling multiple vehicle modules. (MPG impact: 0%% · Added cost: $500-$1500 for complex electrical repairs.)
Cost of Not Fixing It
- Immediate: Loss of ABS, traction control, and stability control. Increased risk of losing control during emergency braking or in adverse weather conditions. (Added cost: Potential for accident-related costs.)
- 0-3 months: Failure to pass state safety inspections. Inability to calibrate ADAS cameras for windshield replacement. (Added cost: $50-$150 in failed inspection fees.)
- 3+ months: If caused by a failing battery, you risk a no-start condition requiring a tow and immediate battery replacement. (Added cost: $200-$450 for a new battery and tow.)
Diagnosis Steps
- Check for Technical Service Bulletins (TSBs)
Search for TSBs for your specific year, make, and model. For 2019+ Subarus, a known software update (e.g., TSB 03-90-22) is the definitive fix, saving hundreds in unnecessary diagnostic work.
Tools: Internet access (Beginner) - Read All Codes from All Modules
Use a multi-system OBD-II scanner to read the ABS, VDC, ECM, and BCM. B2809 is often a secondary code. If engine codes (like P0400 or EVAP codes) are present, diagnose and fix those first.
Tools: Multi-system OBD-II Scanner (Beginner) - Perform a Battery Load Test
Test the battery's health. A healthy battery shows ~12.6V resting and 13.7-14.7V running. Perform a load test to ensure it maintains adequate Cold Cranking Amps (CCA).
Tools: Battery Load Tester (Beginner) - Analyze Cranking Voltage Drop
Connect a multimeter with a Min/Max function to the battery. Crank the engine. If the voltage drops below 9.7V during cranking, the battery or starter circuit is triggering the B2809 code.
Tools: Digital Multimeter (with Min/Max) (Intermediate) - Check the Gas Cap and Brake Light Switch
Tighten the gas cap until it clicks to rule out EVAP-induced cascading failures. Verify the brake lights illuminate instantly when the pedal is pressed and turn off completely when released.
Tools: None (Beginner) - Inspect VDC Module Wiring
Locate the VDC/ABS module in the engine bay. Inspect the main electrical connector and harness for corrosion, chafing, or rodent damage. Ensure the connector is fully seated.
Tools: Flashlight (Intermediate) - Monitor Live Sensor Data
Use a bi-directional scan tool to view live VDC data. Drive straight and verify all four wheel speed sensors read identical speeds. Confirm the steering angle sensor reads 0 degrees when centered.
Tools: Bi-directional Scan Tool (Advanced) - Perform CAN Bus Resistance Test
Disconnect the battery. Measure resistance between Pin 6 and Pin 14 on the OBD-II port. A healthy network reads 60 Ohms. 120 Ohms indicates an open circuit; 0 Ohms indicates a short.
Tools: Multimeter (Professional) - Clear Codes and Perform Drive Cycle
If the code appeared after a dead battery or jump start, clear it from the VDC module. Drive the vehicle at highway speeds for 15 minutes. If the code does not return, it was a temporary voltage glitch.
Tools: Multi-system OBD-II Scanner (Beginner)
When This Code Triggers (Freeze-Frame Conditions)
- System Voltage: 9.0 - 10.5V (Momentary drop during engine cranking)
- Engine RPM: 200-800 RPM (Engine cranking / initial startup)
- Vehicle Speed: 0 mph (Vehicle is stationary)
- Brake Pedal Status: On / Depressed (Driver is holding the brake to start the car.)
Related Codes
- B2806 — Indicates an 'ECM Abnormal' state. The Engine Control Module detected a primary engine fault (like an EVAP leak) and forced the VDC system to log B2809. Fix the engine code first.
- B2C22 — An 'EyeSight System' fault. EyeSight sets B2C22 because it detects the VDC malfunction (B2809) and shuts down for safety. Fixing B2809 automatically resolves B2C22.
- C0074 — Points to a specific hardware failure within the VDC module's control logic or hydraulic unit. Seeing C0074 alongside B2809 confirms the module requires physical repair or replacement.
- P0400 — An Exhaust Gas Recirculation (EGR) flow error. This is a common primary engine code that forces the ECM to disable the VDC system, triggering B2809 as a secondary symptom.
Climate & Environmental Factors
- Cold Weather: Cold temperatures increase a battery's internal resistance, reducing cranking power. A weak battery experiences a severe voltage drop during a cold start, falling below the VDC module's 9.7V threshold and triggering B2809.
- High Heat: High ambient heat accelerates internal battery degradation. A battery damaged by summer heat loses its reserve capacity, making it highly susceptible to triggering low-voltage faults when temperatures eventually drop.
How to Talk to a Mechanic About This Code
Say this: "I have a B2809 VDC Malfunction code on my vehicle. Based on my research, this is often caused by a software issue or a weak battery. Please check for any open Technical Service Bulletins for a VDC software update, and perform a full battery load test, specifically noting the minimum voltage during cranking."
Directs the shop to check the cheapest fixes first (TSB and battery), preventing them from immediately quoting a $1,500 VDC module replacement.
Avoid saying:
- 'My ABS and traction control lights are on, can you fix it?' (Too vague, invites expensive diagnostics.)
- 'Just do whatever it takes to fix it.' (Gives the shop a blank check.)
- 'I read online I need a new VDC module.' (Invites unnecessary parts replacement.)
Questions to ask before authorizing the repair:
- If they recommend a software update: 'Does the TSB number match the known issues for my model year?'
- If they recommend a new battery: 'What was the minimum voltage during the cranking load test?'
- If they recommend replacing the VDC module: 'Did you rule out CAN bus wiring issues and secondary engine codes first?'
- If they recommend replacing the VDC module: 'Can we use a mail-in repair service for my original module instead of buying a new one?'
Where to Take It: Dealer vs Independent vs Chain
- Dealer:
Best first stop for modern Subarus. The proprietary software update is the cheapest and fastest solution for this specific code.
Best for: Modern Subaru vehicles (2019+) requiring proprietary TSB software updates., Vehicles under warranty., Complex module programming.
Downsides: Highest labor rates ($150-$250/hr)., Defaults to replacing entire modules rather than repairing them. (Typical cost: +50% vs. baseline) - Independent Shop:
Ideal for diagnosing battery faults or secondary codes. Use after confirming with a dealer that no TSB applies to your vehicle.
Best for: Out-of-warranty vehicles., Diagnosing battery, charging system, and secondary engine codes., Removing the VDC module to send out for mail-in repair.
Downsides: May lack manufacturer-specific programming tools for software updates. (Typical cost: +0% vs. baseline) - Chain Shop:
Avoid for diagnosis. Only use for a battery swap if you already proved the battery is failing.
Best for: Simple battery replacement if you confirmed it is the root cause.
Downsides: Technicians lack training for complex CAN bus or module diagnostics., High risk of misdiagnosis. (Typical cost: -10% vs. baseline)
When to Walk Away From the Repair
If the estimated repair cost exceeds 40-50% of the car's private-party value, consider selling the vehicle instead of repairing it.
- Car worth $3500, fix is $2200: Walk away. The repair cost is over 60% of the car's value.
- Car worth $25000, fix is $250: Fix it. The cost is 1% of the vehicle's value and restores critical safety systems.
- Car worth $8000, fix is $1800: Borderline. Get a second opinion and ask about using a $300 mail-in repair service for the module to cut costs.
What Scan Tool You Need for This Code
Minimum: A scanner that reads and clears codes from the ABS and SRS modules. Basic $20 engine-only readers cannot see or clear B2809.
B2809 is stored in the chassis/ABS system. A basic reader checking only Powertrain ('P') codes shows 'No Codes Found', leading to incorrect diagnostics.
Budget: Autel AutoLink AL619 (~$99) — Reads and clears ABS codes, confirming the presence of B2809 and allowing you to clear history codes.
Mid-range: Foxwell NT510 Elite (~$150) — Displays live sensor data. Allows you to monitor wheel speeds, steering angle, and system voltage in real-time to pinpoint the root cause.
Professional: Autel MaxiCOM MK808 (~$500) — Provides bi-directional control. Commands the ABS module to activate the hydraulic pump, which is mandatory for bleeding brakes after module replacement.
Rent vs buy: Auto parts stores loan free scanners, but ensure you ask for the advanced model that reads ABS codes. Rent for a one-time diagnosis; buy if you DIY regularly.
How to Clear the Code After You Fix It
- Use a multi-system OBD-II scan tool to clear the code from the ABS/VDC module.
- Perform a drive cycle to verify the fix and ensure the code does not return.
- If the battery was disconnected, allow for an extended drive for emissions readiness monitors to reset.
Drive cycle (~20 minutes): Perform a cold start, idle for 2 minutes, accelerate to 50-60 MPH for 5 minutes, decelerate without braking, and perform mixed city/highway driving. This allows the VDC system to complete its self-checks.
Readiness monitors affected: None. B-codes related to ABS/VDC do not affect primary emissions readiness monitors required for smog checks.
Before emissions retest: drive at least 50 miles to fully set monitors.
Watch out for:
- Clearing the code without addressing the root cause (e.g., weak battery) guarantees the code returns on the next cold start.
- Disconnecting the battery fails to clear the code from the VDC module's permanent memory.
- Using a basic engine-only code reader, which cannot access or clear ABS/VDC module codes.
Will This Fail Emissions / State Inspection?
No — by itself this code doesn't fail OBD inspection (but it can keep readiness monitors from setting, which causes a separate fail).
- California: Passes smog check. CA tests emissions; an ABS/VDC light does not cause failure if the Check Engine light is off and monitors are set.
- New York: Fails annual safety inspection. NYS automatically fails vehicles with illuminated ABS warning lights.
- Texas: Passes emissions-only testing in required counties, but fails any inspection that includes a full safety check (e.g., commercial vehicles).
Most Commonly Affected Vehicles
- Subaru Legacy / Outback (2020-2022) — Subject to TSB 03-90-22. A software update fixes false low-voltage detection during engine cranking.
- Subaru Forester (2019-2022) — Subject to TSB 06-84-22R, providing a reprogramming file to fix communication issues (B2809 and B2C22).
- Subaru Crosstrek (PHEV) (2019-2023) — Service program WRC-23 reprograms the VDC module for memory corruption issues setting this code.
- Chevrolet Corvette (C5) (1997-2004) — B2809 is a Body Control Module (BCM) code related to the 'Service Column Lock' system, almost exclusively triggered by low battery voltage.
- Nissan Xterra / Frontier (2005-2015) — The VDC OFF light triggers easily from faulty steering angle sensors, bad wheel speed sensors, or aftermarket electrical interference.
- Volkswagen / Audi Passat / A4 (2005-2018) — B2809 acts as a generic body system code pointing to CAN Gateway communication issues rather than direct ABS module failure.
Manufacturer-Specific Notes
- Subaru: B2809 is overwhelmingly a software issue, not a hardware failure. Dealerships resolve this via TSB software updates. Additionally, a faulty Data Communication Module (DCM) on 2019+ models causes parasitic battery drains, leading to the low voltage that triggers B2809.
- Chevrolet (C5 Corvette): B2809 is a Body Control Module (BCM) code relating to the column lock system. It triggers from minor voltage drops, even from leaving the ignition on without the engine running.
- Nissan: The VDC system disables itself due to minor electrical interference, including improperly grounded aftermarket fog lights or radios, throwing B2809 without any actual brake system failure.
Real Owner Stories
2020 Subaru Outback at 40K miles - The TSB Fix
ABS, VDC, and EyeSight lights illuminated suddenly without driveability issues.
What they tried:
- Took the car directly to a Subaru dealership.
Outcome: The dealer diagnosed a known software issue, reprogrammed the VDC module per TSB 03-90-22, and cleared the codes. Total cost was $150 for one hour of labor. The lights never returned.
Lesson: For modern Subarus, check for TSBs first. Going to the dealer for a software update saves money on misdiagnosis.
2002 C5 Corvette at 75K miles - The Battery Gremlin
'Service Column Lock' message and B2809 code appeared after the car sat for a week. Engine cranked slowly.
What they tried:
- Cleared the code, but it returned on startup.
- Tested the battery and found it at 12.1V (low).
- Replaced the 5-year-old battery with a new AGM battery.
Outcome: Replacing the battery instantly solved the problem. Total cost was $220. The code did not return.
Lesson: On C5 Corvettes, B2809 is almost always a low-voltage symptom. Perform a battery load test before chasing complex electrical faults.
2018 Subaru Forester at 130K miles - A Cascade of Codes
EyeSight, ABS, and VDC lights illuminated. Scanner showed B2809, B2806 (ECM Abnormal), and an EVAP code.
What they tried:
- Cleaned battery terminals and reset codes, but they reappeared.
- Investigated the B2806 code, leading to the primary EVAP fault.
Outcome: The root cause was a failing EVAP purge solenoid. The ECM detected this and commanded the VDC to shut down. Replacing the $40 solenoid resolved all warning lights.
Lesson: B2809 is often a secondary code. If you have an 'ECM Abnormal' code, fix the primary engine or emissions fault first.
2015 Subaru Forester - The 'Ghost' Code
No warning lights, but a glass shop refused windshield replacement due to a stored B2809 history code.
What they tried:
- Tried clearing the code with a basic $20 scanner, which failed.
- Paid an independent mechanic $50 to clear the history code with a professional scanner.
Outcome: The code cleared successfully. The glass shop replaced and calibrated the windshield. The code was likely from a single past low-voltage start.
Lesson: History codes block ADAS calibration. Basic scanners cannot access VDC modules; you need a multi-system tool to clear them.
How to Prevent This Code From Triggering
- Proactively replace the battery every 3-5 years. (Once every 3-5 years) — Prevents the momentary voltage drops during engine cranking that trigger 50% of B2809 codes.
- Use a battery tender if the vehicle sits for more than a week. (During periods of inactivity) — Maintains optimal charge levels, preventing deep discharges that damage the battery and cause low-voltage startup faults.
- Clean battery terminals with a wire brush. (Every oil change) — Removes corrosion that acts as a resistor, ensuring full current flow to the starter and preventing voltage drops.
- Install manufacturer software updates. (Annually at the dealer) — Patches overly sensitive VDC logic, preventing false B2809 codes on modern Subarus.
Frequently Asked Questions
Can I fix code B2809 myself?
You can test the battery, inspect the gas cap, and read secondary codes. However, the most common fix—a software update—requires proprietary dealership tools. Advanced CAN bus diagnostics also require professional equipment.
Why did my EyeSight and cruise control turn off?
Systems like EyeSight and adaptive cruise control rely on the VDC system for vehicle telemetry. When the VDC module logs a B2809 fault, the main computer disables these dependent systems to prevent erratic behavior. Fixing the VDC code restores them.
My mechanic replaced the battery, but the code came back. Why?
While low voltage causes this code, many Subarus suffer from overly sensitive software that flags normal startup voltage drops as faults. If a healthy battery doesn't solve it, you need a dealership software update per manufacturer TSBs.
Why won't a shop replace my windshield with this code active?
Camera-based driver aids require precise recalibration after a windshield replacement. This calibration fails if the VDC system has an active or stored fault code. You must clear the B2809 code before the glass shop assumes liability for the safety system.
What does the 'H' at the end of my B2809 code mean?
The 'H' stands for 'History', meaning the module recorded a fault in the past but the system currently tests normal. A single low-voltage engine start often triggers this. Clearing the code usually resolves it unless the underlying hardware is actively failing.
Can a loose gas cap really cause my VDC to turn off?
Yes. A loose gas cap triggers an EVAP system fault and illuminates the Check Engine Light. The main computer responds to engine faults by disabling chassis systems like VDC and EyeSight as a precaution, causing a cascade of warning lights.
A shop quoted me over $2,000 to replace the VDC module. Is this right?
New OEM VDC modules cost $1,200 to $1,800, plus labor and brake bleeding, easily pushing the bill over $2,000. Before paying this, verify the shop ruled out a $150 software update or a $200 battery replacement. You can also use a mail-in module repair service for $150-$500.
Key Takeaways
- Code B2809 disables your vehicle's active safety systems, including ABS and traction control, requiring you to increase following distance and avoid aggressive maneuvers.
- On 2019 and newer Subarus, a hyper-sensitive software glitch causes 80% of B2809 codes; check for Technical Service Bulletins (like TSB 03-90-22) before replacing any parts.
- A weak battery dropping below 9.7 volts during engine cranking triggers this code instantly; perform a load test before assuming the VDC module has failed.
- B2809 frequently appears as a secondary fault; if your scanner shows engine codes like P0400 alongside it, fix the engine issue first to restore the VDC system.
Shop the Parts Behind B2809
Below are the parts most often responsible for code B2809, ranked by how frequently each one is the actual culprit (per the diagnosis above). Tap any to see what we have for your vehicle.
The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.
- 🧭 Diagnostic Flowchart
- 🛍️ Shop This Part
- What Does B2809 Mean?
- Can I Drive With B2809?
- Common Causes
- Symptoms
- Common Fixes & Costs
- Used vs. New Parts: Buying Guide
- What Happens If You Wait — Timeline
- Cost of Not Fixing It
- Diagnosis Steps
- When This Code Triggers (Freeze-Frame Conditions)
- Related Codes
- Climate & Environmental Factors
- How to Talk to a Mechanic About This Code
- Where to Take It: Dealer vs Independent vs Chain
- When to Walk Away From the Repair
- What Scan Tool You Need for This Code
- How to Clear the Code After You Fix It
- Will This Fail Emissions / State Inspection?
- Most Commonly Affected Vehicles
- Manufacturer-Specific Notes
- Real Owner Stories
- 2020 Subaru Outback at 40K miles - The TSB Fix
- 2002 C5 Corvette at 75K miles - The Battery Gremlin
- 2018 Subaru Forester at 130K miles - A Cascade of Codes
- 2015 Subaru Forester - The 'Ghost' Code
- How to Prevent This Code From Triggering
- Frequently Asked Questions
- Can I fix code B2809 myself?
- Why did my EyeSight and cruise control turn off?
- My mechanic replaced the battery, but the code came back. Why?
- Why won't a shop replace my windshield with this code active?
- What does the 'H' at the end of my B2809 code mean?
- Can a loose gas cap really cause my VDC to turn off?
- A shop quoted me over $2,000 to replace the VDC module. Is this right?
- Key Takeaways
- 🎟️ Get 5% Off