P0028
Intake valve Control Solenoid Circuit Range/Performance Bank 2P0028 is a generic OBD-II powertrain diagnostic trouble code: Intake valve Control Solenoid Circuit Range/Performance Bank 2. It is logged by the engine control unit when the powertrain monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.
What P0028 means
P0028 is stored when the PCM detects that the intake valve control solenoid circuit on Bank 2 is operating outside its calibrated range or not responding as commanded. Bank 2 is the cylinder bank on the opposite side from cylinder #1 on V-configuration and flat (boxer) engines; on inline four-cylinder engines this code does not apply because there is only one bank. The code is part of the Variable Valve Timing (VVT) and Variable Valve Lift (VVL) family of faults.
The fault sets when the PCM sees a voltage deviation exceeding roughly 10% of the reference voltage at the intake camshaft actuator solenoid for Bank 2, or when the VVL oil-pressure switch remains in its on or off state longer than expected, or when measured camshaft position diverges from the commanded target. Like its Bank 1 counterpart P0020, the most prevalent root cause is insufficient or degraded engine oil rather than a failed solenoid. With the fault active, the Bank 2 intake cam is locked in a fixed phase, compromising volumetric efficiency and causing rough idle and power loss, particularly noticeable on Subaru flat-four, Ford EcoBoost V6, and GM direct-injection V6/V8 engines that use this circuit on the second bank.
Common causes
Most-frequently reported root causes when P0028 is logged.
-
1
Low engine oil level — starves the Bank 2 intake VVT actuator of the hydraulic pressure it needs to phase the camshaft
-
2
Low engine oil pressure from a worn oil pump, blocked pickup, or severely worn main/rod bearings
-
3
Incorrect engine oil viscosity or grade preventing proper actuator response
-
4
VVL oil pressure switch failure — switch stays stuck open or closed causing incorrect PCM feedback
-
5
Defective intake valve control solenoid on Bank 2 (open or shorted coil, mechanical binding)
-
6
Open circuit, short circuit, or corroded connector in the Bank 2 solenoid wiring harness
-
7
Sludge or varnish deposits in VVT oil passages or the actuator vane chamber
-
8
PCM failure — degraded output driver or corrupted calibration data (uncommon)
Symptoms drivers notice
How to diagnose P0028
A typical diagnostic flow when this code is present.
-
1
Verify engine oil level and condition; top up or replace with manufacturer-specified oil if low or degraded, clear the code, and retest
-
2
Perform an oil pressure test with a mechanical gauge; compare idle and operating pressure to OEM specifications — low pressure points to pump wear or internal leaks
-
3
Disconnect the Bank 2 intake solenoid connector and measure coil resistance with a DVOM; typical range is 6–15 Ω (verify against OEM spec) — out-of-range reading means replace the solenoid
-
4
Inspect the wiring harness from the PCM to the Bank 2 solenoid for chafing, pin corrosion, or broken wires; verify reference voltage and ground path
-
5
Use a scan tool to command the solenoid and monitor live camshaft position data; no position change despite electrical activation indicates a mechanical issue — blocked oil passage or seized actuator
-
6
Remove and inspect the solenoid filter screen for sludge buildup; clean or replace as needed before condemning the actuator itself
-
7
If oil passages are confirmed blocked, perform a supervised engine flush, reassemble, and retest before replacing expensive components
Related powertrain codes
Frequently asked questions
Why does P0028 appear specifically on Subaru and Ford vehicles?
Subaru boxer engines and Ford EcoBoost V6 engines use VVL/VVT systems on both banks, making Bank 2 faults possible. Subarus are particularly susceptible to sludge in VVT passages if oil change intervals are extended.
How is P0028 different from P0022?
P0022 (Camshaft Position Timing Over-Retarded, Bank 2) means the intake cam on Bank 2 is retarded beyond the desired angle. P0028 means the solenoid control circuit itself is out of range or not performing — an electrical or hydraulic supply problem rather than a timing overshoot.
Can I fix P0028 myself?
If the cause is simply low oil, a DIY oil top-up and code clear will resolve it. Solenoid replacement is within reach for intermediate DIYers. However, if oil pressure testing or live scan-tool data is required, professional equipment is needed.
What happens if I ignore P0028 long-term?
Persistent operation with a stuck or under-pressured VVT actuator accelerates wear on the camshaft phaser and timing chain components. In severe cases this can lead to timing chain stretch and significantly more expensive repairs.
Disabling P0028 in software
RaceTune can permanently disable P0028 — and any other OBD-II diagnostic trouble code — on every ECU family we support. The monitor is disabled inside the ECU itself, so the fault stops being logged: the warning light stays off and the engine never enters limp mode for this code. The change is tied to your exact software version.
Software modifications affect emissions compliance and are not road-legal in many jurisdictions. RaceTune service files are intended for motorsport, off-road, and export use.
Got P0028 in your scan?
Upload your ECU file — we'll identify the exact software version and confirm whether a disable is available for your car.
Upload your file