EN

Severity: Moderate Code type: Manufacturer-specific (Honda)

Honda P1259 Code: VTEC System Malfunction

The PCM saw the VTEC solenoid or VTEC oil pressure switch misbehave on an older Honda VTEC engine.

At a glance

Severity: 3/5 – Moderate3/5

Severity: Moderate

Meaning
VTEC System Malfunction
System
Fuel & Air Metering · Powertrain
Safe to drive?
With caution
Typical repair cost
$20–$450
DIY difficulty
Moderate

P1259 is the umbrella VTEC code Honda used on its OBD-II engines before the later P2646/P2647 rocker arm codes took over, so it shows up mostly on D-, B-, H- and J-series engines and early K-series cars. The PCM switches a VTEC solenoid valve on the cylinder head, and a pressure switch mounted on or next to that solenoid reports whether oil pressure actually changed. P1259 sets when the switch state doesn't match the command, or when the solenoid or switch circuit itself is open or shorted. The rpm at which the code sets is a useful clue: below roughly 4,000 rpm it tends to be wiring or the switch, at higher rpm it is usually an oil supply problem.

Can I keep driving? The engine will run on the low-lift cam and simply feel weaker at high rpm, so short-term driving is fine. Check the oil level before driving further, because a low level is the most common trigger and also harms the rest of the engine.

How to read P1259

How to read P1259P11223594
  1. P Powertrain
  2. 1 Manufacturer-specific
  3. 2 Fuel & air (injector circuit)
  4. 59 Specific fault

Symptoms

  • Check engine light on
  • No noticeable VTEC crossover, flat power at high rpm
  • Code appears after hard acceleration or a long highway run
  • Oil level low on the dipstick in many cases
  • Oil seeping from around the VTEC solenoid or pressure switch connector

Possible causes

Ranked by how often each cause is behind this code (editorial estimate).

  1. Engine oil level low or oil badly overdue for a change 34%
  2. VTEC oil pressure switch failed or its connector soaked with oil 20%
  3. VTEC solenoid valve sticking or its filter screen blocked with sludge 17%
  4. Broken, chafed or unplugged wiring at the solenoid or switch 14%
  5. Engine or ECU swap with VTEC wiring left incomplete 9%
  6. Low overall oil pressure from a worn pump or clogged pickup 6%

Diagnosis step by step

Diagnostic flow: P12591Check the oil and note the freezeframe2Inspect the solenoid and switchwiring3Measure the solenoid coil4Check the pressure switch state5Test oil pressure through the VTECcircuit
  1. Check the oil and note the freeze frame

    Read the dipstick on level ground and fill to the upper mark with the correct grade. Then look at the freeze frame data: if the code set well below 4,000 rpm, lean toward an electrical fault; at high rpm, lean toward oil supply.

    Tools: OBD-II scanner

  2. Inspect the solenoid and switch wiring

    The VTEC solenoid sits on the back or side of the cylinder head with a small pressure switch next to it. Unplug both connectors, look for oil inside them, green corrosion or broken wires where the harness flexes, and clean or repair as needed.

    Tools: Flashlight, Screwdriver

  3. Measure the solenoid coil

    Across the solenoid terminals, most Honda VTEC solenoids read roughly 14 to 30 ohms. An open or near-zero reading means a bad coil; also check that the signal wire from the PCM is not shorted to ground.

    Tools: Multimeter

  4. Check the pressure switch state

    With the engine idling and the solenoid off, the switch should sit in its rest state; on many older engines it is closed at idle. When the solenoid is energized at elevated rpm, the switch must change state. If the switch never changes while the oil pressure clearly rises, replace it.

    Tools: Multimeter

  5. Test oil pressure through the VTEC circuit

    With a gauge in the switch or inspection port and the engine warm, pressure should stay low, only a few psi, at 1,000 to 3,000 rpm with the solenoid off, then jump to several tens of psi when it's energized at higher rpm. No rise points to a blocked screen or a stuck spool.

    Tools: OBD-II scanner

Where the parts are

Ignition: coils and spark plugs per cylinder – P12591234567
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 and filter change with correct grade Yes $40–$110
Replace VTEC oil pressure switch Yes $40–$180
VTEC solenoid gasket and filter screen Yes $20–$150
Replace VTEC solenoid valve assembly Yes $180–$450
Repair VTEC wiring or harness connector No $80–$250

Rough US estimates for parts and labor; shop rates vary by region. Not a quote.

Notes by brand

Honda

On engine-swapped Civics and Integras, P1259 often appears simply because the VTEC solenoid or pressure switch wiring was never connected to the donor ECU, or the ECU doesn't match the engine.

Emissions / smog test impact

Will fail

With the check engine light on, the car fails an OBD-based smog or emissions test in states that use one. Once repaired, a few drive cycles let the monitors set ready again.

Frequently asked questions

What is the difference between P1259 and P2646?

Both point to VTEC not working as commanded. P1259 is the older Honda-specific code used on 1990s and early 2000s engines, while later i-VTEC engines split the fault into P2646, P2647 and circuit codes for the rocker arm oil control system.

Why does the code only come back at high rpm?

VTEC only engages at higher rpm under load, so an oil supply fault can only be detected then. If the code returns at idle or low rpm instead, the pressure switch or its wiring is the more likely suspect.

Can I just unplug the VTEC solenoid to stop the light?

No. Unplugging it guarantees the code and keeps the light on, and you lose high-rpm power. Fix the oil level, switch or wiring instead.

Is it safe to rev the engine hard while this code is active?

Avoid it until you have checked the oil. If the oil level is fine, high revs won't hurt the engine, but VTEC won't engage, so there is nothing to gain.

Sources