P1604: Startability malfunction (Toyota and Subaru)

Startability malfunction

P1604 in short

On Toyota and Subaru vehicles, P1604 means startability malfunction: the engine computer saw the engine crank too long before starting, or start and then nearly stall. A weak battery or slow cranking is the most common reason. Test the battery first, then check for bulletins and software updates. Get it checked soon.

P1604 is a manufacturer code, so its meaning depends on the make. This page covers Toyota and Subaru, which both call it a startability malfunction.

On Toyota, the engine computer times how long the engine cranks using crankshaft pulses. The code sets if cranking lasts too long for the coolant temperature (a cold engine is allowed longer), or if the engine starts and then drops to about 200 rpm or less within roughly two seconds.

Because it describes a symptom rather than a part, the code can come from many things that make starting slow: a weak battery, fuel that the engine computer has misjudged, a corroded connector, or a misfiring cylinder. The freeze-frame data (battery voltage and coolant temperature when it set) is the best first clue.

Pick your make

P1604 is a manufacturer-specific code: its meaning depends on who built the car.

Other makes: meaning not verified. Check with a scan tool that reads manufacturer definitions.

Most likely causes

  1. Cause 1: Weak battery or slow cranking

    Common general cause
    Why it ranks here
    A battery that cranks the engine slowly makes it take longer to start, which is exactly what this code measures. MOTOR's write-up of Toyota's logic names it as the usual reason, and a Subaru owner reports P1604 alongside a battery drain and other low-voltage codes.
    What would change this
    Rises if freeze-frame battery voltage is low, the battery fails a load test, or other low-voltage codes are stored; falls if the battery and cranking speed are good.
  2. Cause 2: Wrong learned fuel alcohol content (Toyota 3UR-FBE flex fuel)

    Supported by vehicle data
    Why it ranks here
    Toyota's bulletin for 2009-2019 Sequoia and Tundra with the flex-fuel 3UR-FBE links P1604 and fuel trim codes to an alcohol content estimate higher than the fuel used, and updates the engine computer; ALLDATA describes resetting the learned value.
    What would change this
    Applies to the listed trucks; rises with negative fuel trims or a high alcohol estimate on regular fuel.
    How to test the engine control module (ecm / pcm)
  3. Cause 3: Engine computer software (2019-2020 Subaru Ascent)

    Supported by vehicle data
    Why it ranks here
    Subaru released engine computer files for the Ascent to fix extended cranking and P1604 stored without the check engine light.
    What would change this
    Applies to the listed vehicles; rises if the update has not been done.
    How to test the engine control module (ecm / pcm)
  4. Cause 4: Corroded engine computer connector (2014-2018 Highlander)

    Supported by vehicle data
    Why it ranks here
    Toyota found water and corrosion in the engine computer connector, from poorly sealed aftermarket windshield de-icer harnesses, causing P1604 with drivability and fuel pressure problems.
    What would change this
    Applies to the listed vehicles; rises if an aftermarket de-icer is fitted or the connector shows corrosion.
    How to test the engine control module (ecm / pcm)
  5. Cause 5: Shorted ignition coil with blown fuse (Subaru Crosstrek reports)

    Possible — needs testing
    Why it ranks here
    Subaru Crosstrek owners report P1604 stored with a shorted or melted ignition coil, a blown ignition fuse and a stall. These are owner reports, not a bulletin naming the code.
    What would change this
    Rises if a cylinder misfire code is also stored or an ignition fuse is blown.
    How to test the ignition coil
  6. Cause 6: Low fuel pressure or other fuel delivery problem

    Possible — needs testing
    Why it ranks here
    Anything that makes the engine slow to fire can set the code. Toyota lists low or no fuel pressure alongside P1604 in one bulletin.
    What would change this
    Rises if fuel pressure is low at key-on or cranking; falls if pressure is in specification.
    How to test the fuel pump

What to test first

Start at step 1. Each result tells you what it means and where to go next.

  1. Step 1: Read all stored codes and the P1604 freeze-frame data, noting battery voltage, coolant temperature and engine speed when it set.

    Low riskTool: scan tool

  2. Step 2: Charge and load-test the battery, clean the terminals, and check that the engine cranks at normal speed.

    Low riskTool: battery tester

  3. Step 3: Have a shop check for bulletins and software updates, inspect the engine computer connector, and measure fuel pressure during cranking.

    Best left to a shopTool: scan tool, fuel pressure gauge, service information

    Warning:Fuel pressure testing opens a pressurised fuel system, which is a fire risk. Leave it to a shop.

Symptoms

  • Long cranking or hard starting
  • Engine starts then dies
  • Check engine light, or no light at all on some models
  • Engine stalls while driving Gets more serious: stop and have it checked.

How to fix

  1. Step 1: Write down every stored code and the freeze-frame data before clearing anything.

  2. Step 2: Have the battery tested and charged, and clean and tighten the battery terminals.

  3. Step 3: Ask a dealer whether a bulletin or software update covers P1604 on your vehicle.

Parts and cost context

  • Engine control module (ECM / PCM):Software updates and learned-value resets fix this code on some models; a replacement module is rarely the answer.

Labor varies by vehicle and shop; get a quote before you approve a repair.

Compare used part prices on PartPriceGuide

On your vehicle

Toyota

  • 2009–2018 · Sequoia · 3UR-FBE

    Supported by vehicle data

    On the flex-fuel 3UR-FBE, Toyota links P1604 and hard starting to a wrong alcohol estimate (T-SB-0166-19).

  • 2009–2019 · Tundra · 3UR-FBE

    Supported by vehicle data

    On the flex-fuel 3UR-FBE, Toyota links P1604 and hard starting to a wrong alcohol estimate (T-SB-0166-19).

  • 2014–2018 · Highlander

    Supported by vehicle data

    Check the ECM connector for corrosion if an aftermarket windshield de-icer is fitted (T-SB-0072-19).

  • T-SB-0166-19Status unverified

    Toyota T-SB-0166-19: 3UR-FBE hard start, MIL with P1604 and fuel trim codes

    2009–2019sequoia, tundra · 3UR-FBE · issued · NHTSA 10171454

    Hard start or MIL with P1604 or fuel trim codes, with an alcohol density estimate higher than the fuel used. Covers 2009-2018 Sequoia and 2009-2019 Tundra; supersedes T-SB-0058-13, which reprogrammed the ECM.

    We couldn't confirm whether this bulletin is still current, so it doesn't count as confirmation.

  • T-SB-0072-19Status unverified

    Toyota T-SB-0072-19: drivability and P1604 from ECM connector corrosion

    2014–2018highlander · issued · NHTSA 10162756

    Corrosion in the ECM connector from aftermarket windshield de-icer harnesses can cause drivability problems, low fuel pressure and codes including P1604.

    We couldn't confirm whether this bulletin is still current, so it doesn't count as confirmation.

Subaru

  • 2019–2020 · Ascent

    Supported by vehicle data

    Subaru has an ECM update for extended cranking and P1604 stored without the check engine light (11-192-19).

  • 2019–2020 · Crosstrek

    Possible — needs testing

    Owners report P1604 stored with a shorted ignition coil, a blown fuse and a stall. Have the coils and ignition fuse checked.

  • 11-192-19Status unverified

    Subaru 11-192-19: ECM reprogramming for extended cranking and P1604

    2019–2020ascent · issued · NHTSA 10166949

    New ECM files address extended cranking (hard starting) and P1604 stored without the check engine light.

    We couldn't confirm whether this bulletin is still current, so it doesn't count as confirmation.

All Charging and starting codes

P1604 questions

Can a weak battery cause P1604?

Yes. On Toyota the code measures how long the engine takes to start, and a weak battery that cranks slowly is the usual reason. Test the battery before anything else.

Why is P1604 stored with no check engine light?

On some models it is stored without turning the light on; Subaru's Ascent bulletin describes exactly that. A shop may find it during a scan for hard starting.

Sources and review

  1. Foreign Service, July 2013: Toyota P1604 startability code — MOTOR Information Systems (MOTOR magazine)
  2. Toyota T-SB-0166-19 Rev1: 3UR-FBE hard start, MIL with P1604 and fuel trim DTCs — Toyota Motor Sales / NHTSA ,
  3. Subaru 11-192-19: ECM reprogramming for extended cranking and P1604 — Subaru of America / NHTSA ,
  4. NHTSA complaint ODI 11627701: 2019 Subaru Crosstrek, P1604 with shorted cylinder 4 coil and blown fuse — NHTSA Office of Defects Investigation (complaint flat file) ,
  5. NHTSA complaint ODI 11735976: 2020 Subaru Crosstrek, P1604 with melted cylinder 3 coil, blown fuse and stall — NHTSA Office of Defects Investigation (complaint flat file) ,
  6. NHTSA complaint ODI 11403236: 2017 Subaru Outback, P1604 Startability Malfunction with battery drain — NHTSA Office of Defects Investigation (complaint flat file) ,
  7. ALLDATA Tech Tip: Sequoia extended cranking, DTCs P1601-P1605 — ALLDATA
  8. Toyota T-SB-0072-19: 2014-2018 Highlander drivability, P1603/P1604/P1605, connector corrosion — Toyota Motor Sales / NHTSA ,
  9. NHTSA complaint ODI 11023574: 2016 Toyota Camry, dealer readout P1604 Startability Malfunction — NHTSA Office of Defects Investigation (complaint flat file) ,
  10. TAT Scandata: P1604 (Toyota) Startability Malfunction — Technical Assistance Team (TAT), Australia
Last reviewed
Written by
Saurabh K.
Editorial review
Pending
Technician review
Technician review pending

This page explains what a code usually means; it is not a substitute for a professional inspection. How we source and review · Report an error

My Car

Pick your car and code pages will point out notes and bulletins for it. Saved only in this browser.

Fill this in from your VIN

Used once to identify your engine; not stored.