P0028 Code: Intake Valve Control Solenoid Range/Performance (Bank 2)
A bank 2 valve lift solenoid didn't produce the expected result; low or old oil is the most common reason.
Unverified: this manufacturer-specific definition comes from a single source or varies by model. Confirm it with a brand-specific scan tool.
At a glance
Severity: Low
- Meaning
- Intake Valve Control Solenoid Range/Performance (Bank 2)
- System
- Fuel & Air Metering · Powertrain
- Safe to drive?
- Yes, short term
- Typical repair cost
- $10–$1,600
- DIY difficulty
- Easy
The standard wording refers to an intake valve control solenoid, a solenoid that changes how the intake valves are operated rather than the cam phaser. What that means in practice depends on the manufacturer, so the generic description tells you less than usual and a service manual for your engine matters; treat this definition as model-dependent. On Subaru's 2.5-liter SOHC boxer with AVLS, the best-known application, each bank has an oil switching solenoid that shifts the intake rocker arms between a low-lift and a high-lift profile, plus an oil pressure switch that confirms the change happened. P0028 means that on bank 2, the left bank with cylinders 2 and 4, the PCM commanded a change but the feedback didn't agree within the allowed time. Low oil level, the wrong oil and a sticky solenoid are behind most cases.
Can I keep driving? Safe to drive; the valve lift simply stays in one mode, costing a little smoothness or top-end power. Check the oil level straight away, since low oil is both the likeliest cause and bad for the rest of the engine.
Try this first – 5-minute fix
- Check and correct the oil level Variable valve lift systems like AVLS rely on oil pressure to push locking pins in the rocker arms. Being a quart or so low can delay the switch enough to set the code, so check on level ground and top up to the full mark.
- Change the oil if it's due or the wrong grade Old, sludgy or overly thick oil slows both the rocker pins and the solenoid spool. Change oil and filter using the viscosity listed for your engine in the owner's manual.
- Clear the code and drive normally Clear the code and drive, including some brisk acceleration through the mid-rpm range where the system switches. If it stays away for a week of normal use, the oil was the cause.
How to read P0028
- P Powertrain
- 0 Generic (SAE)
- 0 Fuel/air & emissions (aux.)
- 28 Specific fault
Symptoms
- Check engine light with little change in how the car drives
- Slightly rougher idle or less willing low-speed response
- Less pull at higher rpm when the system is stuck in low lift
- Oil level at or below the minimum mark on the dipstick
- P0026 set as well when an oil problem affects both banks
Possible causes
Ranked by how often each cause is behind this code (editorial estimate).
- Low oil level, or old, thick or sludged oil slowing the hydraulic switching
- Bank 2 oil switching solenoid sticking or its filter screen clogged
- Bank 2 oil pressure switch faulty and giving false feedback
- Connector or wiring fault at the bank 2 solenoid or pressure switch
- Locking pins in the bank 2 rocker arms sticking
- Weak oil pump or worn bearings lowering oil pressure
Diagnosis step by step
Find out what the solenoid does on your engine
Look up the intake valve control system for your exact engine. The tests below assume an oil-switched valve lift system with a pressure switch for feedback, as on Subaru AVLS; other designs need their own procedure.
Tools: Flashlight
Watch command and feedback in live data
Many scan tools show the valve lift solenoid command and the oil pressure switch state for each bank. Rev the warm engine into the range where the system switches: the bank 2 switch should follow the command almost at once. A switch that never changes, or changes late, confirms an oil or solenoid problem on that bank.
Tools: OBD-II scanner
Check the solenoid circuit
Unplug the bank 2 solenoid, on the left cylinder head of a Subaru, and measure coil resistance; compare it with bank 1. Then check for power and a switching control signal while the scan tool commands the solenoid.
Tools: Multimeter, OBD-II scanner
Pull the solenoid and inspect its screen
Remove the solenoid and look for a small filter screen in the oil passage underneath it. Clean or replace a clogged screen, fit new O-rings and check that the spool moves freely with brief 12-volt taps.
Tools: Screwdriver, Flashlight
Swap solenoids between banks
If the bank 1 and bank 2 solenoids are the same part, swap them and clear codes. The fault moving across to P0026 condemns the solenoid.
Tools: Screwdriver, OBD-II scanner
Test the oil pressure switch
Check that the bank 2 switch changes state when oil pressure rises. A switch stuck in one state feeds the PCM false information even when the rocker arms switch perfectly.
Tools: Multimeter
Where the parts are
- 1Ignition coil
- 2Spark plug
- 3Fuel injector
- 4Camshaft sensor
- 5Crankshaft sensor
- 6Engine computer (ECM)
- 7Intake manifold
Repair options & costs
| Repair | DIY? | Estimated cost |
|---|---|---|
| Oil top-up or oil and filter change | Yes | $10–$120 |
| Clean the solenoid filter screen and renew O-rings | Yes | $60–$200 |
| Replace bank 2 oil pressure switch | Yes | $80–$220 |
| Replace bank 2 oil switching solenoid | Yes | $150–$400 |
| Replace bank 2 intake rocker arms | No | $800–$1,600 |
Rough US estimates for parts and labor; shop rates vary by region. Not a quote.
Notes by brand
Subaru
P0028 is best known on Subaru's 2.5-liter SOHC boxer with AVLS, the EJ253, used in Impreza, Forester, Legacy and Outback models. On these cars a low oil level is a very common trigger; when the oil is fine, the oil switching solenoid on the left cylinder head and its filter are the next suspects.
Emissions / smog test impact
Will fail
P0028 lights the check engine lamp, which fails an OBD-II emissions inspection. It's often cured by an oil service, so do that well before the test and let the car complete a few drive cycles so the monitors are ready.
Frequently asked questions
Does P0028 mean the same on every car?
No. The standard wording only says intake valve control solenoid, and manufacturers use such a solenoid for different jobs. On Subaru AVLS it switches valve lift; other systems work differently, so check your engine's service information before buying parts.
Why would low oil set a valve lift code?
Because the switching is hydraulic. Oil pressure pushes small pins in the rocker arms to lock them together for high lift. With low or thick oil the pins move slowly or not at all, and the pressure switch doesn't see the expected change in time.
Will the engine run badly with P0028?
Usually not much. The system stays in one lift mode, so you may notice a slightly rougher idle or less power at high rpm, but it isn't harmful in the short term.
What's the difference between P0026 and P0028?
Same system, different bank: P0026 is bank 1 and P0028 is bank 2. Codes on both banks together point to oil level or oil quality; one bank alone points to that bank's solenoid, screen, pressure switch or rocker arms.
Sources
- SAE J2012 – Diagnostic Trouble Code Definitions
- ISO 15031-6 – Road vehicles, diagnostic trouble code definitions (EOBD)
- Manufacturer public service information (cross-checked)
- Methodology: How We Build Code Pages · Data Sources We Use · Editorial Policy