EN

Severity: Low Code type: Generic (all makes) ✱

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: 2/5 – Low2/5

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

  1. 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.
  2. 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.
  3. 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

How to read P0028P10203284
  1. P Powertrain
  2. 0 Generic (SAE)
  3. 0 Fuel/air & emissions (aux.)
  4. 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).

  1. Low oil level, or old, thick or sludged oil slowing the hydraulic switching 30%
  2. Bank 2 oil switching solenoid sticking or its filter screen clogged 24%
  3. Bank 2 oil pressure switch faulty and giving false feedback 16%
  4. Connector or wiring fault at the bank 2 solenoid or pressure switch 12%
  5. Locking pins in the bank 2 rocker arms sticking 10%
  6. Weak oil pump or worn bearings lowering oil pressure 8%

Diagnosis step by step

Diagnostic flow: P00281Find out what the solenoid does onyour engine2Watch command and feedback in livedata3Check the solenoid circuit4Pull the solenoid and inspect itsscreen5Swap solenoids between banks6Test the oil pressure switch
  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

Ignition: coils and spark plugs per cylinder – P00281234567
Ignition: coils and spark plugs per cylinder
  1. 1Ignition coil
  2. 2Spark plug
  3. 3Fuel injector
  4. 4Camshaft sensor
  5. 5Crankshaft sensor
  6. 6Engine computer (ECM)
  7. 7Intake manifold

Repair options & costs

RepairDIY?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