Ever glanced at your dashboard to see that dreaded orange glow? Your Subaru’s check engine light just lit up, and suddenly your mind races with worst-case scenarios and repair bills. Don’t panic! Understanding what those mysterious codes mean can save you time, money, and unnecessary worry.
How Subaru’s Diagnostic System Works
Subarus use an On-Board Diagnostic (OBD) system that monitors your vehicle’s performance. When something isn’t right, your car stores a specific trouble code and triggers that check engine light.
Modern Subarus have sophisticated electrical systems with over 90 specific codes to pinpoint problems. This complexity is helpful for diagnosis but can be overwhelming if you don’t know what you’re looking at.
All Subarus made after 1996 use the standardized OBD-II system, while older models used the more basic OBD-I system. This distinction matters when you’re trying to read codes from your vehicle.
Getting Access to Your Subaru’s Trouble Codes
Using an OBD-II Scanner (for post-1996 models)
The simplest way to read codes from newer Subarus is with an OBD-II scanner:
- Find your OBD-II port (typically under the dashboard on the driver’s side)
- Plug in the scanner
- Turn the ignition to “ON” without starting the engine
- Follow the scanner’s instructions to retrieve codes
Don’t own a scanner? No problem! Most auto parts stores offer free code reading services.
Reading Codes Without a Scanner
For Pre-1996 Subarus
Older Subarus have a clever built-in way to communicate codes:
- Locate the diagnostic connectors under the driver’s side dash (usually black and green connector pairs)
- Connect the two black/white connectors
- Turn the ignition on without starting the engine
- Watch the CHECK ENGINE light’s flashing pattern:
- Long flashes = first digit
- Short flashes = second digit
- Example: three long flashes followed by one short flash means code 31
On early EJ series engines (found in Legacy, SVX, and Impreza models), the system will cycle through all stored codes before repeating.
For 2009-era Models
Some 2009 Subarus like the Impreza use this method:
- Reset both Trip A and Trip B odometer readings to zero
- Turn off the car
- Start the car
- Turn on headlights, press reset button four times
- Turn off headlights, press reset button four times
- Turn on headlights, press reset button four times
- Look for codes on the odometer display
Common Subaru Check Engine Light Codes and What They Mean
P0XXX Codes (Generic OBD-II)
These standardized codes work across all car brands:
| Code | Common Causes | Severity |
|---|---|---|
| P0010 | PCM failure, Variable valve timing issues, Wiring problems | Moderate |
| P0011 | Camshaft timing solenoid failure, Low oil, Wrong oil type | Moderate |
| P0102 | Mass Airflow Sensor unplugged or damaged | Moderate |
| P0420 | Catalytic converter inefficiency (extremely common in Subarus) | Moderate |
| P0442 | Evaporative system leak (often just a loose gas cap) | Low |
P1XXX Codes (Subaru-Specific)
These codes are unique to Subaru vehicles:
| Code | Common Causes | Severity |
|---|---|---|
| P1086 | Intake manifold air control actuator position sensor voltage low | Moderate |
| P1400 Series | Fuel system issues | Varies |
| P2682 | Thermo control valve issues (known issue with extended warranty in some cases) | Moderate |
What Different Check Engine Light Patterns Mean
Solid Light
When your check engine light stays on continuously, it’s typically a non-emergency issue that should be addressed soon but doesn’t require immediate action. Common causes include:
- Loose gas cap
- Minor emissions system issues
- Sensor malfunctions
Flashing Light
A flashing check engine light is a serious warning. This usually indicates an engine misfire that could damage your expensive catalytic converter. You should:
- Reduce your speed immediately
- Minimize engine load (avoid hills and heavy acceleration)
- Get the car to a mechanic as soon as possible
Related Warning Lights
With Subarus, a check engine light often triggers other warning lights:
- Cruise Control Light Flashing: When your check engine light comes on, your Subaru automatically disables cruise control as a safety measure.
- Flashing [S] Light: In newer models like the 2023 Forester, this indicates that EyeSight driver assistance systems have been temporarily disabled due to the detected issue.
What to Do When Your Subaru’s Check Engine Light Comes On
1. Check the Simple Stuff First
Before panicking, check your gas cap. A loose cap is one of the most common causes of check engine lights in Subarus. Tighten it and drive for several trips (it might take 6-10 trips for the light to reset).
2. Read the Codes
Use an OBD-II scanner or visit an auto parts store for free code reading. Basic code readers are affordable (around $20) and can save you much more in unnecessary diagnostic fees.
3. Assess the Urgency
Different codes require different responses:
- P0420 (catalytic converter efficiency): Can usually wait a bit
- P0301-P0304 (cylinder misfires with flashing CEL): Needs immediate attention
4. Clear Simple Issues
For minor problems like a loose gas cap, fixing the issue and driving several cycles may clear the code automatically. You can also use your code reader to clear the code after fixing the problem.
5. Monitor for Recurring Issues
If your check engine light returns after clearing it, there’s likely a persistent issue that needs professional attention.
Common Subaru-Specific Check Engine Light Issues
Catalytic Converter Efficiency (P0420)
This is the most common code in Subarus, especially in models from the 2000s and early 2010s. The good news is that while the code indicates catalytic converter inefficiency, it doesn’t always mean you need a new converter. Sometimes the issue can be:
- Oxygen sensor problems
- Exhaust leaks
- Engine running rich or lean
Head Gasket-Related Codes
Subaru’s boxer engines, particularly in the 1999-2011 era, are known for head gasket issues that can trigger check engine lights related to:
- Misfires (P0301-P0304)
- System too lean/rich codes (P0171/P0172)
- Random misfire codes (P0300)
If you see these in combination with overheating or oil/coolant mixing, it might point to the infamous head gasket problems.
EJ Series Engine Knock (P0301-P0304)
The EJ series engines (especially in WRX and STI models) can develop rod knock that triggers misfire codes. This is often accompanied by a distinctive knocking sound that gets louder with engine load.
The Evolution of Subaru’s Diagnostic Systems
Subaru’s approach to diagnostics has evolved significantly over the decades:
Early Systems (1980s-1995)
First-generation Subarus used simple flash codes through the check engine light. These systems were basic but effective for their time.
OBD-II Era (1996-2008)
With the adoption of OBD-II, Subarus gained standardized code formats and more sophisticated sensors. This era saw dramatic improvements in diagnostic capabilities.
Modern Systems (2009-Present)
Today’s Subarus feature advanced computerized systems that monitor virtually every aspect of the vehicle’s performance. With the integration of EyeSight driver assistance systems, diagnostics have become even more critical as engine issues can affect safety systems.
Understanding Code Categories
Subaru trouble codes follow a systematic pattern:
- P0xxx: Generic OBD-II codes (same across all manufacturers)
- P1xxx: Manufacturer-specific (Subaru’s own codes)
- P2xxx: Generic expanded codes (newer standards)
- P3xxx: Additional manufacturer-specific codes
The first digit after P indicates the system:
- 0: Engine or emissions
- 1: Transmission
- 2: Body
- 3: Chassis
- 4: Network
Preventing Check Engine Light Issues in Your Subaru
Regular Maintenance Matters
Many check engine light codes can be prevented with proper maintenance:
- Use the correct oil viscosity (typically 5W-30 or 0W-20 for newer models)
- Replace air filters on schedule
- Use quality fuel
- Don’t ignore minor issues that could develop into bigger problems
Driving Habits That Help
How you drive affects your Subaru’s engine health:
- Allow proper warm-up time in cold weather
- Avoid excessive idling
- Don’t consistently run the tank near empty (the fuel pump uses gas for cooling)
- Avoid aggressive driving, especially when the engine is cold
Tools Worth Investing In
If you own a Subaru and plan to keep it for the long haul, consider investing in:
- Bluetooth OBD-II Scanner: These connect to your smartphone and use apps like Torque Pro to give you real-time data and code reading capability.
- Subaru-Specific Scanner: For enthusiasts, a scanner that reads Subaru-specific systems like ABS, airbags, and transmission can be worth the investment.
- Digital Multimeter: Essential for testing sensors and electrical components that often trigger check engine lights.
Using Subaru Check Engine Codes to Save Money
Understanding your Subaru’s check engine codes can save you significant money:
- Avoid unnecessary parts replacement: Mechanics sometimes replace parts that aren’t actually failing
- Negotiate repairs with knowledge: When you understand the problem, you can better discuss repair options
- DIY the simple fixes: Many common issues like oxygen sensors can be fixed at home with basic tools
The National Highway Traffic Safety Administration maintains resources about vehicle safety issues, including those related to engine performance problems that might trigger check engine lights.
Remember, your Subaru’s check engine light is actually a helpful tool designed to alert you before small problems become big ones. With a little knowledge and the right approach, you can decode its messages and keep your Subaru running smoothly for years to come.













