AutoLogicTools

OBD-II trouble code

P0028: Intake Valve Control Solenoid Circuit Range/Performance (Bank 2)

SAE J2012: intake valve control solenoid circuit range/performance, bank 2. In the 2006 Subaru Legacy GD(H4SO U5) file, P0028 says to use the P0026 valve-lift diagnosis. It is the other bank's intake valve-lift solenoid and oil-pressure switch on that engine. It is not a bank 2 cam-phaser code and it is not a fuel-trim code in that document.

Medium severityPowertrainIgnition / Engine TimingDrivable short-term

Quick facts

System
Powertrain
Category
Ignition / Engine Timing
Severity
Medium severity
Drivable
Usually safe to drive short-term
Repair cost range
$180 – $870 (variable valve timing control solenoid replacement)
DIY difficulty
Intermediate DIY

Browse every code in P0001–P0099, or start from the full code library.

What does P0028 mean?

Bank 2 is the bank that does not contain cylinder 1. The solenoid is the intake valve-control solenoid on that bank. On the 2006 Legacy H4SO, the criteria file points P0028 at the same valve-lift test as P0026: high mode is large duty and the oil-pressure switch OFF, low mode is minimum duty and the switch ON. Low NG is duty at or above 62% with the switch ON. High NG is duty below 33% with the switch OFF. Enable conditions include battery at least 10.9 V, at least 6 seconds after start, and engine oil temperature at least 15°C (59°F). The file does not describe a fuel trim, a lean code that arrives first, or a bank that is fed last by the oil galleries.

Access is whatever this engine's intake plumbing requires. There is no sourced rule that bank 2 is the rear bank of a transverse V, or that it carries a labor premium. Read the diagram, find cylinder 1, and the other bank is bank 2.

If this engine is not that Legacy, the 62% and 33% figures do not travel with the code. Hyundai TSB 09-EM-002 does not list P0028. A cam-phaser oil-control solenoid on another engine is diagnosed from that engine's book, under this SAE title only when the book uses it.

Common causes

  • The bank 2 intake valve-lift connector unplugged, corroded, or shorted, on the Legacy layout
  • Duty and switch state disagreeing on the P0026 criteria the Legacy file tells you to use for P0028
  • The oil-pressure switch for that bank stuck ON or OFF while duty is in the opposite mode
  • Oil temperature below 15°C, so the Legacy enable is not met and a later failure gets misread
  • On a non-Subaru engine, the intake oil-control solenoid that engine's chart assigns to bank 2
  • A bank 1 part installed on bank 2 because the diagram was not checked

Symptoms

  • Check engine light with P0028
  • Bank 2 valve lift not changing mode on a 2006 Legacy H4SO, with bank 1 behaving
  • The same duty-versus-switch failure as P0026, on the other bank
  • No fuel-trim code required by the Legacy file
  • The code stored only after oil temperature reaches the enable
  • A part ordered for bank 1 that does not clear a bank 2 result

Diagnostic steps

  1. 1.On a 2006 Legacy H4SO, follow the file's instruction to use the P0026 valve-lift diagnosis, and perform it on bank 2. Compare duty with that bank's oil-pressure switch. Do not add a fuel-trim check the file does not contain.
  2. 2.Mark cylinder 1, then mark the other bank, before you unplug a solenoid. The 62% and 33% thresholds and the 15°C oil-temperature enable stay on that Subaru file.
  3. 3.Ignition off. Inspect the bank 2 connector. The Legacy criteria that were read do not include a coil-ohm spec. If your engine's procedure has one, use that number only.
  4. 4.Bring the engine into the enable window before you decide the solenoid passed. On the Legacy file that is oil temperature at least 15°C, battery at least 10.9 V, and valve-lift control operating.
  5. 5.Replace the bank 2 solenoid or switch the failed side of the criteria names. A cam phaser, an oil pump, and a timing chain are not parts in that valve-lift file. No labor adder for bank 2 was found.
  6. 6.Clear P0028 and run bank 2's test in the enable window. A passenger reads duty and the switch if you confirm it on the road, or record the trace.

Repair cost

$180 – $870 (variable valve timing control solenoid replacement)

RepairPal's VVT control solenoid average is $469–$594, updated 3 September 2026, with a 2010 Ford Fusion example at $179–$239 and a 2015 Porsche Cayman example at $687–$870. $180–$870 rounds that set and is scoped to the solenoid job. The 2006 Legacy bank 2 valve-lift solenoid was not given its own line, and no source added labor for bank 2. RepairPal's oil-pump and timing-chain figures are not this Subaru test. An oil change at $160–$188 is not a step in the Legacy criteria. The actuator average of $1,094–$1,425 stays outside the pair.

Estimate your repair

Run the numbers for your vehicle

Open the Repair Cost Estimator with vvt solenoid replacement preselected. Adjust labor rate and vehicle category to fit your situation.

DIY vs shop

This is an intermediate DIY job. It usually involves diagnostic steps, specialty parts, and some careful work in tight spaces. If you have the tools and a service manual or trustworthy video for your specific vehicle, it is achievable in a weekend. Otherwise, a competent independent shop will be faster.

Related codes

Frequently asked questions

Is P0028 a bank 2 fuel-trim problem?

Not in the 2006 Legacy H4SO file. That file sends P0028 to the P0026 valve-lift test: solenoid duty against the oil-pressure switch. A lean code on bank 2 is a different monitor. Do not replace an intake gasket from this number unless that engine's chart says the solenoid test is really a trim test.

What thresholds does the Legacy use?

The same ones as P0026, because the file says to use that diagnosis. Low NG is duty at or above 62% with the switch ON. High NG is duty below 33% with the switch OFF. Oil temperature enable is at least 15°C. Apply them to bank 2, the bank that does not contain cylinder 1.

Does bank 2 cost more to reach?

No priced labor premium was found. Identify the bank from cylinder 1 and follow the access the procedure shows. Do not add a 'rear bank of a transverse V' charge from a layout this code does not specify.

How much does P0028 cost to fix?

Variable valve timing control solenoid replacement is $180 – $870 (variable valve timing control solenoid replacement). That rounds RepairPal's Fusion example ($179–$239), the $469–$594 national average updated 3 September 2026, and a Cayman example ($687–$870). It does not include a bank 2 surcharge, an oil pump, or a timing chain.

Editorial context

About This Diagnostic Information

AutoLogicTools diagnostic guides explain OBD-II trouble codes using recognized code definitions, standard automotive diagnostic principles, and practical automotive context. A trouble code records a condition detected by a control module. It does not automatically identify a failed part, and the right diagnostic procedure can vary by vehicle.

Manufacturer service information, technical service bulletins, wiring diagrams, and vehicle-specific procedures should take precedence when available.

AutoLogicTools was founded by Vincent Fisk, an automotive locksmith and shop owner in San Diego with hands-on experience in vehicle keys, immobilizer systems, electrical issues, modules, programming, and diagnostics.