P0604: Internal Control Module RAM Error (Meaning, Causes, Fixes)
What P0604 means
The powertrain control module (PCM) is the computer that runs the fuel, ignition and, on many vehicles, transmission systems. OBD-Codes.com explains that its RAM holds a select set of data the PCM uses over and over, so it can respond quickly in situations that repeat in rapid sequence, and that it also helps the PCM recognize and work with the vehicle's other control modules. If the PCM detects a discrepancy between the RAM and other controllers, or the RAM doesn't work as designed, it stores P0604, and depending on the severity the check engine light may take several failure cycles to come on. RepairPal's description is different: it says the PCM sets P0604 when it loses communication with one or more control modules. The code is generic to OBD-II vehicles, but repair steps vary by make and model. OBD-Codes.com names Dodge, Chevrolet, BMW, Saturn, Kia and VW as examples, and search interest shows people look it up most for Chevrolet (including the Silverado), BMW, Cummins, Ford and Allison transmissions, so check technical service bulletins (TSBs) for your vehicle.
Severity: can I keep driving?
Stop and fix promptly
Get it checked right away. RepairPal rates P0604 'Urgent', meaning it can cause severe damage or put people at risk, and OBD-Codes.com says it should be considered severe because the conditions behind it can affect engine management in a serious way. Both sources list stalling and no-start among the symptoms. If the engine stalls, runs roughly or the transmission shifts harshly, stop driving and have it towed rather than risk losing power in traffic.
Common symptoms
- Check engine light on (OBD-Codes.com says it may take several failure cycles before the light comes on)
- Engine won't start
- Engine stalls or runs roughly, especially at idle
- Decreased engine performance and drivability problems
- Harsh or erratic automatic transmission shifting (OBD-Codes.com)
- Lower fuel economy (OBD-Codes.com)
Likely causes
Roughly most to least common, based on the sources below. Your vehicle may differ.
- Low battery voltage or a completely discharged battery, which OBD-Codes.com calls the leading cause of RAM failure
- A PCM programming error (OBD-Codes.com)
- A new or incorrect PCM, for example one from another vehicle that hasn't been programmed for yours (OBD-Codes.com)
- An aftermarket (high-performance) PCM program installed (OBD-Codes.com)
- A blown ECM/PCM fuse or bad PCM power supply relay (OBD-Codes.com)
- A failed PCM (both sources)
- Open or shorted wiring or connectors, including the CAN (control module network) harness (both sources mention wiring)
- A loose control module ground strap or broken ground wire (OBD-Codes.com)
Diagnostic steps you can do
Work on a cool engine, parked on level ground with the parking brake set. Never work under a car supported only by a jack.
- Read all stored codes and freeze frame data and write them down. OBD-Codes.com says to fix P0604 before chasing other codes, because other codes stored with it are likely to be false.
- Look over the engine wiring harnesses and connectors for damage or burned spots.
- Check the battery and charging system, and make sure the battery terminals are clean and tight. OBD-Codes.com says the RAM needs at least 12.5 volts to work properly.
- Think about recent work: a recently replaced PCM or a newly installed performance tuner can set the code.
- Check the PCM fuses and power relay, and look for a loose or broken ground strap or wire.
- Clear the code and see if it comes back. If it resets right away, the PCM's supply voltage and programming are the next things to check.
Typical fixes
- Charge or replace a weak battery and fix poor battery connections
- Repair damaged wiring, connectors or ground connections
- Replace a blown PCM fuse or bad PCM power relay
- Remove or update an aftermarket performance program, or reprogram the PCM back to the factory calibration
- Reprogram an incorrectly programmed or replacement PCM with a factory-level scan tool, which OBD-Codes.com says most dealers can do
- Replace and program the PCM if it has failed
Repair costs vary widely by vehicle, region, parts brand and shop, so we don't quote prices. Get a written estimate after diagnosis.
🛠 When to call a pro
- OBD-Codes.com says to test battery voltage at the PCM and to test PCM fuses with the circuit loaded, because a corroded fuse can look fine until a load reveals it.
- Any replacement PCM, new or used, has to be programmed to the vehicle. OBD-Codes.com notes some aftermarket suppliers sell preprogrammed controllers for certain models; have the VIN and mileage ready.
- OBD-Codes.com says aftermarket or high-performance programmers often take time to be recognized by the other controllers, if they ever are.
- The sources disagree on what sets the code: OBD-Codes.com ties P0604 to the PCM's own RAM failing or not matching the other controllers, while RepairPal says it sets when the PCM loses communication with one or more other control modules. RepairPal's cause list is short (PCM failure and wiring), while OBD-Codes.com puts battery voltage, programming, tunes, and power and ground faults ahead of a bad PCM.
Where to buy
Plain search links. Always match parts to your exact year, make, model and engine.
FAQs
Can I drive with P0604?
It's not a good idea. RepairPal rates P0604 'Urgent' and OBD-Codes.com calls it severe, and both list stalling and no-start among the symptoms. Have it diagnosed soon, and tow it if the engine stalls or runs badly.
Can a weak or dead battery cause P0604?
Yes. OBD-Codes.com says loss of battery power is the leading cause of RAM failure and that the RAM needs at least 12.5 volts to work properly, so check the battery and its connections first.
Does P0604 mean I need a new PCM?
Not necessarily. OBD-Codes.com says to check battery voltage, fuses, relays and grounds first, and that reprogramming fixes an incorrectly programmed or replaced PCM. Both sources do list PCM failure as a cause.
What codes are related to P0604?
OBD-Codes.com lists the other internal control module codes P0601 (memory check sum), P0602 (programming error), P0603 (keep alive memory) and P0605 (ROM).
Sources
Last reviewed 2026-10-26. Code definitions and repair steps can vary by manufacturer. Confirm with your vehicle's service information.