P0028 Code: Intake Valve Control Solenoid Circuit Range/Performance (Bank 2)
Causes, Symptoms & How to Fix
P0028 means the PCM has detected that the intake VVT solenoid on Bank 2 isn't responding correctly to commands. The most common cause is low or dirty engine oil clogging the solenoid screen — fix often starts with an oil change ($40–$80). If the code persists, a new VVT solenoid runs $30–$100 (DIY) and resolves most cases. Drivable in the short term, but ignoring P0028 leads to power loss, poor MPG, and potential timing damage.
| Definition | Intake Valve Control Solenoid Circuit Range/Performance (Bank 2) |
|---|---|
| Severity | Moderate — Power loss, drivability impact |
| Trigger | Actual intake cam position doesn't match commanded position on Bank 2 |
| Location | Intake VVT solenoid mounted to Bank 2 cylinder head (opposite cylinder #1) |
| Common Vehicles | Subaru, Hyundai/Kia, Toyota/Lexus, Honda/Acura, Nissan/Infiniti, GM |
| Related Codes | P0010, P0011, P0012, P0026, P0027, P0029 |
| DIY Fix Cost | $40–$100 (oil change + solenoid) |
| Pro Fix Cost | $200–$500 (parts + labor) |
| Recommended Tool | iCarsoft CR MAX BT |
What Does P0028 Mean?
When your Check Engine Light turns on and a scan shows P0028, the PCM is reporting that the intake Variable Valve Timing (VVT) solenoid on Bank 2 isn't performing as commanded. The PCM commands the solenoid to adjust intake cam timing or lift, but the actual cam response doesn't match what was requested — that's the "range/performance" condition.
Symptoms of P0028
P0028 produces relatively mild but noticeable drivability symptoms. Watch for these:
Need to test the VVT solenoid?
The iCarsoft CR MAX BT supports bi-directional active tests — you can command the Bank 2 intake VVT solenoid ON/OFF and observe the actual cam angle change in live data to isolate solenoid failure from oil-pressure issues.
What Causes P0028?
Five primary causes, ordered by real-world frequency. Always check the cheapest causes first:
Low or Dirty Engine Oil — Most Common
The #1 cause by a wide margin. Old, sludgy, or low oil can't generate sufficient pressure at the cam phaser, and dirty oil clogs the solenoid's fine mesh screen. Industry data points to this in the majority of P0028 cases.
Clogged VVT Solenoid Screen
The solenoid has a small filter screen at its base. Over time it gets clogged with carbon, sludge, or metallic debris. Often the solenoid itself works fine — just needs cleaning. Common at 80K+ miles, especially with extended oil change intervals.
Failed VVT Solenoid
Internal solenoid coil failure, sticky valve spool, or oil contamination of the connector. Confirmed by out-of-spec resistance reading or no-response active test. Typical on engines past 100K miles.
Stuck Cam Phaser or Oil Passage Blockage
The cam phaser itself can mechanically stick due to oil sludge or wear. Carbon-blocked oil passages in the cylinder head can also starve the phaser of pressure. More expensive repair — typically requires phaser replacement.
Wiring or PCM Issues — Rare
Damaged solenoid harness, corroded connector, or PCM driver failure. Always rule out oil and solenoid before going down the electrical path.
Quick Diagnosis Decision Path — Start cheap
How to Diagnose P0028 — Step by Step
Methodical diagnosis prevents replacing a $100 solenoid when the actual fix is a $50 oil change. Follow these steps in order:
Connect your scanner. Note all stored codes — P0011, P0012, P0026, P0010 are common companions and tell you more about the fault. Record freeze-frame data: RPM, load, coolant temp, and oil pressure (if available) at the moment the code set.
This is the most important step — skip it and you'll waste money. Check the dipstick. Oil should be at the full mark, amber to dark brown, and free-flowing. Black, thick, or smelly oil means service overdue. Low oil is also a major red flag — top off if needed and investigate any leaks or burning.
Locate Bank 2 (the cylinder bank NOT containing cylinder #1). On V-engines, Bank 2 is typically the rear bank (transverse) or passenger side (longitudinal RWD). The intake VVT solenoid is usually mounted at the front of the head, near the cam phaser. Consult the OEM service manual for exact location.
Unplug the connector and set a digital multimeter to ohms. Probe the two solenoid pins. Compare against OEM specification (typically 6–15 ohms, varies by make). 0 ohms = shorted, infinite (OL) = open coil. Both confirm solenoid failure.
Remove the solenoid (usually one bolt). Inspect the small filter screen on its base — it should be clean. If it's dark with sludge or has metal flakes, clean with brake cleaner and a soft brush. Metallic debris is a warning sign of internal engine wear and warrants deeper inspection.
With a pro scan tool like the iCarsoft CR MAX BT, command the Bank 2 intake VVT solenoid ON/OFF while monitoring the actual cam angle in live data. A working system shows several degrees of cam advance/retard within a few seconds. No response = stuck phaser or blocked oil supply.
After any repair, clear codes and run several drive cycles — cold start, city driving, and a short highway run. The VVT monitor needs varied load conditions to confirm proper operation. Re-scan after 50–100 miles. If P0028 doesn't return, the fix is confirmed.
Understanding VVT Solenoid Test Data
Here's how to interpret resistance and cam-angle data on the Bank 2 intake VVT solenoid:
VVT Solenoid Resistance Interpretation
* Exact spec values vary by manufacturer. Always confirm against OEM service data.
How to Fix P0028
Option 1: Oil & Filter Change (Try First)
The cheapest and most common fix. Drain the old oil, replace the filter, refill with the OEM-specified viscosity and quality synthetic oil. Clear the code and drive 20–50 miles. If P0028 doesn't return, you've fixed it. Many cases resolve at this step alone.
Option 2: Clean the Solenoid Screen
If oil service doesn't fix it, remove the Bank 2 intake VVT solenoid and clean its filter screen with brake cleaner. Many solenoids labeled "bad" are actually fine — just clogged. Reinstall with a new O-ring, clear the code, and retest.
Option 3: Replace the VVT Solenoid
If the solenoid tests out of resistance spec, replace it. Cost is typically $30–$100 for the part and 15–60 minutes to install. Use OEM or top-quality aftermarket — cheap solenoids on direct-injection engines often fail within months.
Option 4: Engine Oil Flush (Heavy Sludge Cases)
If you find heavy sludge, consider a proper engine flush procedure. Use a manufacturer-approved engine flush product before the next oil change, drive 5–10 minutes at idle, then drain and refill. Some engines may need multiple short oil-change cycles to clean up properly.
Option 5: Cam Phaser Replacement (Last Resort)
If the solenoid and oil supply test good but cam angle still doesn't respond, the phaser itself is the issue. This is a more expensive repair ($600–$1,500 at a shop) involving timing chain work. Verify carefully before proceeding.
Repair Cost Breakdown
| Repair | DIY Cost | Professional Cost | Time |
|---|---|---|---|
| Oil & Filter Change — Try First | $30–$60 | $60–$120 | 30–60 min |
| Solenoid Screen Cleaning | $5–$10 | $80–$150 | 30 min |
| VVT Solenoid Replacement | $30–$100 | $150–$350 | 30–90 min |
| Engine Oil Flush Service | $15–$30 | $120–$200 | 1 hr |
| Cam Phaser Replacement | $300–$700 | $800–$1,500 | 4–8 hrs |
| Wiring Repair | $10–$30 | $100–$250 | 30–90 min |
Diagnose P0028 Accurately with iCarsoft CR MAX BT
Avoid replacing parts you don't need. The CR MAX BT gives you full diagnostic control:
- Bi-directional VVT solenoid active tests
- Live commanded vs. actual cam angle data
- RPM, load, oil pressure, and temperature monitoring
- Freeze-frame capture for intermittent faults
- Full system code clearing and readiness verification
- Bluetooth — test under the hood with phone/tablet
P0028 on Common Vehicle Makes
P0028 patterns vary by make — knowing your vehicle's typical cause saves diagnostic time:
Subaru Very Common
- Forester, Outback, Legacy, Impreza (flat-4) — known issue at 100K+ miles
- Almost always oil-related — try oil change first
- Bank 2 is the passenger side (driver side in RHD)
Hyundai / Kia Very Common
- Theta II and GDI engines — Sonata, Sorento, Optima, Tucson
- Often coincides with oil consumption issues
- Some cases covered under extended engine warranty — check VIN
Toyota / Lexus Common
- V6/V8 engines (3.5L, 4.0L, 4.6L, 5.7L) with VVT-i
- Highly oil-quality sensitive — use OEM-spec synthetic
- Cam tower and oil passage cleaning may be needed
Honda / Acura Moderate
- V6 models (J35, J37) with VTC system
- Often resolved with OEM VTC solenoid replacement
- Check for known TSBs on MDX and Pilot
Nissan / Infiniti Common
- VQ-series V6 engines (350Z, G35, Maxima, Murano)
- Solenoid clogs from extended oil intervals
- OEM solenoid (~$80) usually fixes it
GM (Chevrolet / Cadillac) Moderate
- 3.6L V6 (LFX, LLT, LY7) and various V8 platforms
- Check timing chain stretch on high-mileage units
- P0014/P0017 often appear alongside P0028
How to Prevent P0028
Related OBD-II Codes
P0028 often appears alongside these VVT-related codes — the combination tells you exactly what's failing:
Frequently Asked Questions About P0028
Verified by iCarsoft Automotive Technicians
This guide is based on VVT system diagnostics, manufacturer TSBs, and thousands of real-world cases across Subaru, Hyundai/Kia, Toyota, Honda, Nissan, and GM platforms. Our technicians focus on systematic oil-and-solenoid diagnosis to help owners avoid unnecessary cam phaser replacements.
Wrap-Up
P0028 is one of the easier OBD-II codes to fix when approached correctly — but expensive if you go straight to replacing parts. Industry data shows the vast majority of cases trace back to oil quality, not solenoid failure.
- Always start with an oil and filter change using OEM-spec synthetic
- Clean or replace the VVT solenoid only if the code persists
- Verify the cam phaser responds with bi-directional active tests
- Address P0028 within 1–2 weeks to avoid expensive damage
Was this P0028 guide helpful?
