MotorCodex Español

P1346 Toyota — VVT Sensor Circuit Range/Performance — Bank 1

Severe

Quick answer

P1346 means the camshaft position signal (Toyota calls it the VVT sensor) on bank 1 doesn’t agree with what the computer expects from crankshaft position — a Toyota/Lexus range/performance code. Causes run from a failing sensor or wiring to valve timing that has actually jumped a tooth, so treat it with respect until you know which one you have.

What it means

P1346 symptoms: what you'll notice

  • Sometimes only the check engine light, when the cause is a lazy sensor or wiring fault.
  • Hard starting or extended cranking — the computer struggles to sync injection and spark without a trustworthy cam signal.
  • Rough running and noticeable power loss if valve timing is genuinely off.
  • Rattle from the timing cover area, worst at cold start, when chain stretch or a worn VVT actuator is involved.
  • The code appearing immediately after a timing belt/chain or engine repair — suspect the work itself, assembled one tooth off.

Common causes

Ordered from most to least likely.

  1. 1.

    Cam (VVT) sensor failing or contaminated

    Cheap and accessible — a sensor tip coated in metallic sludge reads poorly.

  2. 2.

    Wiring or connector damage to the sensor

    Chafed harness and oil-wicked connectors are free to inspect.

  3. 3.

    Stretched timing chain or worn VVT actuator

    Moves the cam’s real position; often with cold-start rattle or P1349/P0016 alongside.

  4. 4.

    Timing jumped or assembled one tooth off

    The urgent story — sudden onset, or right after timing work. Verify before driving more.

  5. 5.

    Damaged signal plate or wrong oil level affecting the VVT controller

    Less common, but worth ruling in/out when nothing else fits.

How to fix it: diagnosis, step by step

Cheapest and most likely checks first.

  1. 1 Assess severity honestly first

    Engine quiet and smooth, code intermittent → diagnose calmly, sensor and wiring first. Rattling, sudden rough running, hard starts, or fresh timing work → stop driving and verify mechanical timing before an interference engine makes the decision for you.

  2. 2 Inspect the sensor and its wiring

    Unplug the cam sensor, check the connector for oil intrusion and corrosion, and inspect the harness where it crosses brackets. Pull the sensor and look at its tip — metallic paste on the magnet is a bad sign for the reading, and for the oil.

  3. 3 Measure the sensor

    Measure the pickup coil’s resistance against your model’s spec (it differs warm vs. cold — the manual lists both). Out of spec, replace it: cam sensors are among the cheaper parts in this story.

  4. 4 Compare cam and crank signals in data

    A scanner showing cam/crank correlation — or a scope on both sensors — answers the real question: stable, correct offset points electrical; a consistent wrong offset points at timing that has moved.

  5. 5 Verify mechanical timing if suspicion remains

    Align the crank to its timing mark and confirm the cam marks agree (access varies by engine). One tooth off confirms the chain/belt story — a job many owners reasonably hand to a shop at this point.

Parts & tools you may need

Disclosure: some links are affiliate links (including the Amazon Associates program). If you buy through them, we may earn a commission at no extra cost to you.

Frequently asked questions

What does code P1346 mean?
P1346 means the camshaft position signal (Toyota calls it the VVT sensor) on bank 1 doesn’t agree with what the computer expects from crankshaft position — a Toyota/Lexus range/performance code. It’s serious — diagnose it promptly to avoid expensive damage.
Can I drive with P1346?
Only if the engine runs smoothly and quietly — and even then, drive to a diagnosis, not indefinitely. If it rattles, runs rough, starts hard, or the code appeared right after timing work, park it: most Toyota engines are interference designs and genuinely jumped timing risks valve damage.
Is P1346 just a bad sensor?
Often, yes — and that’s the outcome to hope for, because the sensor is cheap. But the code can also be the only early warning of stretched or jumped timing. The cam/crank comparison in live data is what separates the two without opening the engine.
I just had the timing belt/chain done and P1346 appeared. Coincidence?
Almost certainly not. Timing assembled one tooth off sets exactly this code, immediately. Take it back to whoever did the work and have the marks verified before putting miles on it.
How is this different from P0340?
P0340 is the generic cam-sensor circuit code — typically no signal at all. P1346 is Toyota’s range/performance version: there is a signal, but it doesn’t make sense against the crankshaft. No-signal points harder at the sensor and wiring; doesn’t-make-sense keeps mechanical timing on the suspect list.
Ask Codi