P0028
Intake Valve Control Solenoid Circuit Range/Performance Bank 2
Intake valve control (VVT)
Generic OBD-II
High
What it means
P0028 means the intake valve control (variable valve timing) solenoid on bank 2 is not responding the way the ECM expects for the commanded value. It is often caused by low or dirty oil, a sticking solenoid, or a wiring problem rather than total failure. The engine usually still runs and drives, but idle quality and power on that bank can suffer.
High
Can I keep driving? Generally driveable, but valve timing on bank 2 may not respond correctly — expect a rough idle and some power loss until repaired.
Common symptoms
What you'll notice
- Check-engine light on
- Rough or unstable idle
- Reduced power and hesitation on acceleration
- Slightly reduced fuel economy
Common causes
Most likely first
- Failing intake valve control (VVT) solenoid on bank 2Likely
- Sticking solenoid or restricted oil flow from dirty/low oilCommon
- Wiring or connector fault in the solenoid circuitCommon
- Clogged oil control valve screenLess often
- Failed ECM (least likely)Less often
How to diagnose & fix
Work through it in order
- Read freeze-frame data and check engine oil level and condition — low or dirty oil is a common cause of poor solenoid response.
- Inspect the bank 2 solenoid connector and wiring for damage or corrosion.
- Remove and inspect/clean the solenoid and its oil screen; test its resistance and operation.
- Replace the solenoid if it fails to respond; consider the ECM only as a last resort. Clear and re-test.
FAQ
Quick answers
Is it safe to drive with P0028?+
Yes for short distances, but valve timing on bank 2 may be off, hurting smoothness and power, so have it looked at soon.
Can I just clear P0028?+
It usually returns because the ECM detects the solenoid not responding as commanded; fix the oil supply or solenoid first.
Related codes
Often seen with P0028
Read & clear P0028 yourself
Scan your car, confirm the code, and clear it once it's fixed — with OBD DashX on your phone.
✓ Verified name — SAE J2012 / ISO 15031-6Guidance reviewed by OBD DashX