When a Subaru On-Board Diagnostic (OBD) detects a problem with the engine, emission system, or transmission, it triggers the check engine light.
The OBD system then stores a fault code (also known as Diagnostic Trouble Code or DTC) in the memory, which you can retrieve with an OBD-II scanner.
In some cases, the Subaru check engine light is accompanied by a flashing Cruise Control or Vehicle Dynamics Control light.
It doesn't mean that there is a problem with these systems. It simply means that they are disabled due to the engine problem.
When you notice the check engine light is on, the first thing to do is to observe if there are any other symptoms, such as:
- Rough running
- Engine misfires or juddering
- Engine shakes
- Lack of power
- Engine Overheats
- Oil light on
- Poor throttle response
- Unusual sounds
- Smoke from the exhaust
- Subaru struggles to start.
If your Subaru has any of these symptoms, it indicates that it is not running as it should. To prevent additional damage, start looking for a place to pull over and turn the engine off safely.
Many problems can cause the Subaru check engine. It can be as simple as a loose fuel tank cap to a clogged catalytic converter. Common causes that trigger Subaru check engine light are:
Read the fault codes to find out why the check engine light stays. Use an OBD-II Scanner to read the fault codes.
- Plugin your scanner under the OBD-II port located under the dashboard (above the brake pedal).
- Turn on the ignition but do not start the engine.
- Allow your scanner to communicate with the On-Board Diagnostic system.
- Select READ CODES on your scanner to retrieve stored codes.
- After fixing the underlying problem, reconnect the scanner. Scroll down to Erase Codes and press Enter.
The code may not be enough to pinpoint the cause. Do not replace parts based on the code alone.
Common Codes That Trigger Subaru CEL
The following problems primarily affect Subaru vehicles such as Forester, Impreza, Outback, Ascent, Legacy, WRX, and Crosstrek.
- P0026 and P0028 - on engines with Variable Valve Lift (VVL) system, this code is usually caused by a faulty VVL pressure switch. You have one on each cylinder head. This code is generally accompanied by rough idle. Bear in mind that low oil levels or sludged oil can also trigger this code.
- P1443 - this code will indicate a faulty EVAP control solenoid. In most cases, you will experience fuel-up cut-offs while refilling. Replacing the defective solenoid is the usual cure.
- P2096 and P2098 - this will indicate that your engine is running lean. It can be caused by a faulty downstream 02 sensor, worn-out catalytic converter, or an exhaust leak. Things like dirty MAF sensors, intake leaks, or low fuel pressure can trigger this code. But in that case, you would experience driveability issues, such as rough idle or lack of power.
- P0171 - also indicates a lean running engine. However, this code will have nothing to do with the exhaust. The most common problem is an intake manifold gasket. It could also be a dirty fuel injector, weak fuel pressure regulator, faulty MAF, or bad upstream 02 sensors.
- P0172 - is similar to above but indicates a lean running engine. The difference is that dirty air filters or leaking fuel injectors are additional possible causes.
- P0031 and P0032 - this code means that the upstream 02 sensor heater element is not working. A faulty heater circuit can cause this, damaged wiring, or a blown a fuse, usually located under the dash. You will not have any symptoms other than the check engine light.
- P0420 code is a common Subaru problem as well. It simply tells you that the catalytic converter is operating below efficiency. The problem could be the catalytic converter itself, but it can also be an oxygen sensor, a vacuum leak, etc. Get an opinion of an experienced Subaru mechanic before you start replacing parts.
- P0300 P0301 P0302 P0302 P303 P0304 these are engine misfire codes. It is often caused by a faulty spark plug, but a bad MAF can also cause it, blown head gasket, clogged catalytic converter, spark plug wires, etc.
Many newer Subarus might have a check engine light and a cruise light flashing after a battery change. In most cases, this is caused by a blown fuse in the engine compartment fuse box.
Other possible causes include faulty Engine Control Unit (ECU), prolonged oil changes, corroded wire harness, software issues, thermostat, cracked head, spark plug wires,
Subaru Check Engine Light Flashing
If the check engine light is flashing, a misfire has been detected. Typically this is due to a faulty spark plug, ignition coil, or damaged catalytic converter.
Driving a Subaru with a flashing check engine light can damage the engine and catalytic converter.
Flashing check engine light is one thing that you should not ignore. While this is not that damaging if you drive for a few minutes, it will have a devastating effect on your engine and catalytic converter if ignored for a long time.
Can I Reset CEL by disconnecting the battery?
You may have been told to disconnect the battery negative terminal for a few minutes to turn off the Subaru check engine light.
While this procedure will turn off your Subaru check engine light, it is not recommended because it clears codes that help diagnostics purposes.
Also, disconnecting the battery does not fix the problem. Sure your check engine light will reset, but if no codes are still active, the light will reset within two to three days—no need to disconnect the battery.
Also, keep in mind that your Subaru check engine light will come back if the problem hasn't been fixed.
You will not pass a state emission test if you recently disconnected the battery or cleared the codes with an OBD2 scanner. Fix the underlying problem, then drive the car for a few days before taking your Subaru for a smog test.
Check Engine and Cruise Control Light On
On some Subaru models, such as the Forest, you will notice that the Cruise Control (CC) comes on in addition to the check engine light.
This is to let you know that the cruise control is disabled due to the engine malfunction. Other lights, such as the traction control light and ABS, may also come on.
Once the check engine light problem and been fixed, these lights should turn off.
Subaru check engine light on but no codes
Older Subarus have a green connector under the dash meant to be disconnected. Connecting it will send the car into a so-called test mode.
A check engine light will be flashing rapidly, but no codes will be stored.
Also, engine cooling fans will be turning off and on.
Newer Subarus don't have this connector. Instead, there is an empty fuse slot in the engine compartment. Test mode is activated by installing a fuse is installed into this slot.
Can a Loose Gas Cap Trigger Check Engine Light?
When your Subaru check engine light comes on, the first thing you should do is to tighten the gas cap. You can continue driving only if there are no other symptoms.
If the gas cap is not tight, it could vaporize from the fuel tank to escape, which triggers the check engine light.
If your Subaru check engine light doesn't turn off after a few days, the next step would be to read the fault codes via the OBD-II port under the dashboard.
Replace the gas cap if the seal shows cracks.
There are hundreds of possible problems that can cause Subaru check engine light to come on. The most common issues are spark plugs, oxygen sensors, and catalytic converter failure. Instead of guessing what is wrong, use an OBD-II scanner to read the fault codes.
Frequently Asked Questions
Subaru check engine light, cruise light blinking on and off, and the Vehicle Dynamics Control light staying on?
Whenever there is an engine-related problem, additional systems such as Cruise control and Vehicle Dynamics Control will be deactivated.
This is done systematically to avoid additional driveability problems and gain the driver's attention. Your Subaru is designed to deactivate these systems to As long as there are no other issues, or the check engine light is not blinking, you can drive your car. But have the problem fixed as soon as possible.
Why does my Subaru check engine light come on in cold weather?
You could have a check engine light in cold weather accompanied by a misfire, rough running, and splutter until the engine warms up.
In this case, you might have a shrunken intake manifold gasket. This causes intake leaks and unmetered air, resulting in all sorts of driveability issues.
Why are check engine light and brake light flashing in my Subaru?
If your engine develops a misfire, you will be warned by a flashing check engine and a flashing brake light.
The main purpose of these multiple flashing lights is to catch your attention, as the misfire can cause damage to the engine or the emission control system in a short time.
Can I reset the Subaru check engine light by disconnecting the battery?
While it is possible to reset the Subaru check engine light by disconnecting the battery, this does not fix it.
If the underlying problem is not fixed, the light will come back on. Depending on the problem, it could come back as soon as you restart the car or a week later.