What does it mean?
P1258 is a Powertrain (engine, transmission, fuel system) fault code. It indicates: VTEC System Malfunction . This is a standardised OBD-II code. The technical definition is the same regardless of the make or model of vehicle, although specific causes and symptoms can vary between vehicles.
Symptoms
- The MIL is on with the high lift function disabled
- Engine feels flat and breathless in the upper rev range
- Slower acceleration and reduced overtaking performance
- Fuel consumption creeps up in mixed driving
- Idle and town driving feel normal, which hides the fault
- Fault may set only when the engine is fully warm
Likely causes
- Solenoid spool stuck open or closed by sludge and varnish build-up
- Oil filter screen for the solenoid clogged with debris after extended service intervals
- Oil pressure switch contacts welded, stuck or corroded so the feedback never changes
- Oil level low or the wrong viscosity used at the last service
- Damaged or leaking gasket at the solenoid mounting face, bleeding off control pressure
- Broken or shorted wiring to the solenoid or the feedback switch
- Worn rocker arm or lost motion assembly that no longer locks together
How to fix it
- Confirm oil level, grade and service history before any electrical testing
- Use the scan tool to command the system on and off while monitoring the pressure switch feedback
- Test the pressure switch separately with a meter, checking that it opens and closes as pressure builds
- Remove the solenoid and inspect the screen, spool travel and mounting gasket for sludge or damage
- Measure solenoid winding resistance and check the harness for chafing, oil ingress and corroded pins
- Verify the actual oil pressure with a mechanical gauge if the hydraulic circuit remains suspect
- Replace the faulty component, refill with the specified oil, clear the code and confirm the system engages during a road test