Go-Parts
Cart 0
Your cart is empty
Add an item to see it appear here.
Wrenchy
Go-Parts Garage
Expert guides for diagnosing, troubleshooting, and replacing auto parts Expert guides for diagnosing and replacing auto parts
Browse All Articles →
🧭 Diagnostic Flowchart 🎬 Helpful Videos 🛍️ Shop This Part

P0607 on 2010-2015 Lexus RX 350: Control Module Performance Causes and Fixes

On a 2010-2015 Lexus RX 350, code P0607 is often triggered by external issues, not a failed engine computer (ECM). The most common causes are water leaks from clogged sunroof drains shorting an oxygen sensor connector, or a faulty Bank 1 Sensor 2 O2 sensor. Always check for water damage and O2 sensor codes like P0138 before replacing the expensive ECM.

20 minutes to read 2010-2015 Lexus RX 350
Most Likely Cause
Water Intrusion from Clogged Sunroof Drains
Difficulty
4/5
Est. Time
2 hrs
DIY Doable?
🔧 Shop
Shop Labor
$250 – $1600
Parts Price
$10 – $1200
⚠️ Drivable, but... — You can drive for a short distance, but it's not recommended. The vehicle may stall, run poorly, or enter a low-power 'limp mode,' making it unreliable and potentially unsafe in traffic.
Key Takeaways
  • Do not immediately assume you need a new ECM for a P0607 code on this vehicle.
  • Your first and most important check should be for water leaks in the driver's side footwell, caused by clogged sunroof drains.
  • Check for accompanying O2 sensor codes, especially P0138. This is a strong clue pointing away from ECM failure.
  • Always start diagnosis with the basics: check the battery and charging system health.
  • Clearing the sunroof drains is a critical preventative maintenance item on this vehicle to avoid this and other electrical problems.
The trouble code P0607 stands for 'Control Module Performance.' This means the Engine Control Module (ECM), the main computer for your engine, has run a self-test and detected an internal problem. The error indicates a malfunction within the ECM's central processor (CPU) or the circuits it uses to monitor other components, such as the oxygen sensors. While this sounds like the ECM has failed, the code can also be triggered if external problems cause the ECM to receive illogical signals from sensors.

What's Unique About the 2010-2015 Lexus RX 350

On this specific generation of the Lexus RX 350, code P0607 has a very strong and well-documented connection to two other issues: water intrusion from clogged sunroof drains and faulty downstream oxygen (O2) sensors. A Technical Service Bulletin (TSB L-SB-0023-10) was issued that directly links P0607 appearing with O2 sensor code P0138 to water damage in a specific electrical connector known as 'AF2', located in the driver's side kick panel. Many owners have successfully fixed this code by addressing water leaks and replacing an O2 sensor, avoiding a costly and unnecessary ECM replacement.

Professional service recommended: Diagnosing this code requires tracing complex electrical issues and potentially replacing and programming the Engine Control Module, which is best left to a qualified technician. However, initial checks for water leaks and O2 sensor codes are straightforward for a skilled DIYer.

Symptoms You May Notice

  • Check Engine Light is on
  • VSC (Vehicle Stability Control) warning light is on
  • Trac Off light is on
  • "Check AWD System" message on the dashboard
  • Engine stalling or hesitation
  • Failure to start
  • Vehicle enters 'limp mode' with reduced power
⚠️ Don't Waste Money on the Wrong Fix
  • Immediately replacing the Engine Control Module (ECM) without checking for water leaks, O2 sensor codes, or battery/alternator issues. This is an expensive mistake, as the ECM is often not the root cause on this vehicle.

Most Likely Causes

  1. Water Intrusion from Clogged Sunroof Drains 🔴 High Probability The sunroof drain tubes on the RX 350 are known to clog with debris, causing rainwater to overflow from the sunroof tray, run down the driver-side A-pillar, and leak into the footwell. This water shorts out critical electrical connectors located in this area, most notably the AF2 connector.
    How to confirm: Check for dampness on the driver-side floor carpet, under the floor mats, and around the A-pillar trim after rainfall. Pour a small amount of water into the sunroof drain channels to see if it drains under the car or backs up into the cabin. Many owners report a musty smell as the first sign.
    Typical fix: Clear the sunroof drain tubes using compressed air or a flexible cleaning tool like heavy weed whacker line. Thoroughly dry out any wet connectors and carpeting. A fan and dehumidifier may be needed for several days.
    Est. part cost: $10-$20 for a drain cleaning tool
  2. Faulty Downstream Oxygen (O2) Sensor or Circuit 🔴 High Probability → Shop Oxygen Sensor As confirmed by TSB L-SB-0023-10, water intrusion often damages the circuit for the Bank 1, Sensor 2 (downstream) oxygen sensor, causing it to send erratic high voltage signals. The ECM misinterprets this as an internal failure and sets P0607 along with an O2 sensor code like P0138. Even without a water leak, the sensor can fail on its own and trigger the same codes.
    How to confirm: Scan for other DTCs. If P0138, P0158, or other O2 sensor codes are present with P0607, this is a very strong indicator. Inspect the O2 sensor connectors and the large AF2 connector in the driver's footwell area for moisture or corrosion.
    Typical fix: First, fix the water leak. Then, replace the faulty oxygen sensor (typically Bank 1, Sensor 2). Using an OEM-quality brand like Denso is highly recommended to avoid compatibility issues. 🎬 Watch: Diagnosing the P0138 code and VSC warning lights
    Est. part cost: $60-$150
  3. Low or Unstable System Voltage 🟡 Medium Probability
    How to confirm: Test the battery with a multimeter; it should read ~12.6V when off. With the engine running, check the alternator output; it should be between 13.5V and 14.5V. An aging battery can cause numerous, seemingly unrelated electrical codes.
    Typical fix: Replace the weak battery or failing alternator. Clean any corrosion from the battery terminals.
    Est. part cost: $150-$500
  4. Failed Engine Control Module (ECM) ⚪ Low Probability → Shop Engine Control Module (ECM)
    How to confirm: This is the cause if all other possibilities (voltage issues, water leaks, O2 sensor faults, wiring problems, exhaust leaks) have been thoroughly diagnosed and ruled out.
    Typical fix: Replace the ECM. The new or remanufactured unit must be programmed to the vehicle's VIN.
    Est. part cost: $400-$1200

Rare But Worth Checking

  • Exhaust Leak: An exhaust leak near an oxygen sensor can allow outside air to enter the exhaust stream, skewing sensor readings and creating electrical 'noise' in the sensor's signal. The ECM can misinterpret this as an internal fault and set a P0607. This is worth checking if you have an aftermarket exhaust or hear a leak.
  • Corroded Junction Box: In cases of severe or repeated water intrusion, the main junction box (fuse box) in the driver's footwell can become corroded. One owner on ClubLexus reported a dealer diagnosis of a shorted wire in the junction box, with a quoted replacement cost of over $4,000 for the part alone.
  • Misfire-Related Processor Faults: While less common on the RX 350, other Lexus platforms have shown that P0607 can appear alongside misfire codes like P0302 and P0304; in one instance described in NHTSA ODI #11585050, replacing ignition coils did not resolve the underlying error.

Diagnosis Steps

  1. Scan the ECM for all stored trouble codes. Pay close attention if any O2 sensor codes (like P0138) are present alongside P0607.
  2. Test the battery voltage with the engine off. It should be approximately 12.6 volts.
  3. Start the engine and test the alternator output. The voltage should be stable and between 13.5 and 14.5 volts.
  4. Inspect the driver's side floorboard and A-pillar for any signs of moisture or water stains. Pull back the carpet if necessary.
  5. Carefully test the sunroof drains by pouring a small amount of water into the front drain holes and confirming it exits underneath the vehicle behind the front wheels.
  6. If water intrusion is suspected or confirmed, locate and inspect the 'AF2' electrical connector in the driver's side kick panel for corrosion or damage. This is a large, multi-wire connector and is the specific subject of TSB L-SB-0023-10.
  7. If O2 sensor codes are present, follow the diagnostic procedure for that specific code, which often leads to replacing the sensor after fixing any water leaks. A dead O2 sensor can be confirmed by graphing its voltage with a scan tool; it will show no activity.
  8. Inspect the exhaust system for any leaks, especially around the O2 sensor bungs.
  9. If all external causes have been ruled out, the ECM is the likely culprit and should be tested or replaced by a professional.

Parts You'll Likely Need

  • Oxygen Sensor (Bank 1, Sensor 2) (OEM #89465-0E140 (Replaced by 89465-0E050)) — This downstream O2 sensor's circuit is often compromised by water leaks, or the sensor itself fails, triggering the P0607 code in the ECM. Replacing it is the most common successful repair.
    Trusted brands: Denso (234-4509)
    OEM price range: $120-$180
    Aftermarket price range: $60-$150
  • Engine Control Module (ECM) (OEM #89661-0E410, 89661-0E430, 89661-0E441, 89661-0E471) — This is the last resort if all other external causes are ruled out. The original ECM has failed internally.
    Trusted brands: Lexus (OEM), Denso (OEM)
    OEM price range: $800-$1200
    Aftermarket price range: $400-$700 (Remanufactured)

Related Codes That Often Appear With This One

  • P0138 — This code for 'O2 Sensor Circuit High Voltage (Bank 1 Sensor 2)' is the most common companion to P0607. A Lexus TSB directly links these two codes to water intrusion affecting the sensor's wiring connector in the driver's kick panel.
  • P0158 — Similar to P0138, this code indicates high voltage on the Bank 2, Sensor 2 O2 sensor circuit and can also be associated with P0607 due to similar failure mechanisms, though it is seen less frequently than P0138.
  • P1604 — This code for 'Startability Malfunction' can sometimes appear with P0607 and P0138. It indicates a failure to start the engine and can be a symptom of the underlying electrical issue or a weak battery.

Technical Service Bulletins (TSBs) & Recalls

  • L-SB-0023-10: MIL 'ON' DTC P0138 and P0607
  • L-SB-0012-10: Water Intrusion from A-Pillar Seam Sealer (Referenced by L-SB-0023-10 as the repair guide for the water leak itself).

Platform-Specific Known Issues

  • TSB L-SB-0023-10 was issued for 2010 RX 350 models, specifically addressing the combination of DTCs P0138 and P0607. It directs technicians to inspect the 'AF2' connector for corrosion from water intrusion originating from the A-pillar seam.
  • A real-world repair documented on ClubLexus (thread '2012 RX350 Codes 0607 0138 1604') shows a user successfully resolving the P0607 and P0138 codes by replacing the Bank 1 Sensor 2 with a Denso unit and also replacing an aging 5-year-old battery.

Mechanic-Grade Diagnostic Values

  • Downstream O2 Sensor (Heated O2 Sensor) Voltage — expected: Should fluctuate but stay below 0.9V. A normally functioning catalytic converter results in a relatively steady voltage around 0.5V-0.7V.. Failure: Voltage is stuck high, above 1.2 volts for more than 10 seconds. This triggers DTC P0138.
  • Upstream Air/Fuel Sensor Heater Resistance — expected: 1.8 to 3.4 Ω at 20°C (68°F). This test is for the upstream A/F sensor, but a similar failure on the downstream O2 sensor heater can cause issues.. Failure: Resistance is infinite ('OL' on multimeter), indicating a burned-out heater element.
  • Downstream O2 Sensor Heater Circuit Current — expected: Greater than 0.3 A.. Failure: Current is less than 0.3 A, which would trigger a heater circuit code like P0037. This indicates an open in the heater circuit.
  • CAN Bus Resistance — expected: Approximately 60 Ω when measured between Pin 6 (CAN-H) and Pin 14 (CAN-L) of the DLC3 connector with the battery disconnected.. Failure: A reading of 120 Ω indicates one of the two terminating resistors (in the ECM and another module) is offline. A reading of 0 Ω indicates a short between the CAN lines.

Hidden / Shadow Codes Worth Checking

  • P060B: A/D Converter Performance. This is another internal processor fault code within the P06xx family. A dealer finding this code would lead to the same conclusion of an internal ECM error. (see via Professional scan tools like Toyota Techstream.)
  • Mode $06 Data: This is not a code, but a diagnostic mode that shows the raw results of the ECM's self-tests before a fault code is set. A technician can view the test values for O2 sensor response time or heater circuit performance to see if a component is borderline failing, even without a Check Engine Light. For example, a technician could monitor Test ID (TID) $81 for the O2 sensor monitor. (see via Most modern OBD-II scan tools have a menu for 'Mode $06' or 'On-Board Monitor Tests'.)

Scan Tool Commands That Help

  • Toyota Techstream: All Readiness — After a repair, use this function to check the status of the self-diagnostics for codes like P0607 and P0138 to confirm the system has run its checks and passed.
  • Toyota Techstream: VIN Update Wizard & Immobilizer Reset — This is critical when replacing the ECM, especially with a used unit. The wizard writes the car's VIN to the replacement ECM. Afterwards, the immobilizer must be reset by shorting pins 4 (CG) and 13 (TC) of the DLC3 connector for 30-35 minutes with the ignition on to sync the keys.
  • Toyota Techstream: Control the Injection Volume (Active Test) — This active test allows a technician to manually alter the fuel injection amount and observe the reaction of the A/F and O2 sensors on a live data graph. This can help determine if a sensor is lazy or non-responsive.

Wiring & Ground Locations

  • AF2 — Large electrical connector located in the driver's side kick panel area, near the floor.. This is the specific connector cited in TSB L-SB-0023-10 that gets wet from clogged sunroof drains, shorting the Bank 1 Sensor 2 O2 sensor circuit and triggering P0607 and P0138.
  • ECM (PCM) — Behind the glove box on the passenger side of the vehicle.. This is the location of the module itself. Technicians need to access it to check its connectors for corrosion or to replace it.
  • Engine Ground Points — Key grounds are located on the engine itself. A wiring diagram for a 2013 model shows ground points D1 (rear left side of engine) and D3 (top rear of engine). The main battery ground connects to the inner fender.. A poor engine or ECM ground can cause floating voltages and unpredictable electronic behavior, potentially triggering a P0607 code. Verifying these grounds are clean and tight is a fundamental step.

Real Owner Repair Stories

  • ClubLexus user 'clutchless' (2010-2015 Lexus RX 350) — Check Engine Light, Check AWD, and Trac Off lights all came on at once after a heavy rainstorm. Codes P0138 and P0607 were stored.
    ❌ Tried (didn't work) Replacing the O2 sensor.
    ✅ What actually fixed it The user reported the lights returned immediately after replacing the sensor. The actual fix was addressing the root cause: clearing the clogged front sunroof drains and thoroughly drying the wet carpet and electrical connectors in the driver's side footwell. The codes only cleared after the area was completely dry.

When the Usual Fixes Don't Work

  • While a faulty Bank 1 Sensor 2 O2 sensor is a common cause for P0607 on this vehicle, simply replacing the sensor may not fix the issue. A forum user reported replacing the sensor, only to have the codes return immediately. The ultimate fix required addressing the primary cause—a water leak from a clogged sunroof drain that was shorting the wiring. The codes did not stay cleared until the leak was stopped and the affected connectors and carpet were completely dried out. This demonstrates that the O2 sensor is often the victim of the water leak, not the root cause itself.

OEM Part Supersession History

  • 89661-0E410 (for 2010-2011 models)This part number is shown to replace older numbers 89661-0E210 and 89661-48D20. Always verify the correct part number for your specific VIN and production date with a dealer. — Internal revisions, software updates, or component changes.
    Heads up: Using an ECM from a different year or with different options (e.g., AWD vs FWD) without correct programming will result in a no-start condition or other system malfunctions.
  • 89465-0E140 (O2 Sensor, Bank 1 Sensor 2)89465-0E050 — Part revision by the manufacturer.
    Heads up: The aftermarket equivalent, Denso 234-4509, is widely cross-referenced to fit the entire 2010-2015 model range and replaces multiple OEM part numbers.

Model Year Variations Within This Range

  • 2010: TSB L-SB-0023-10, which specifically links P0607 and P0138 to water intrusion at the AF2 connector, was issued for 2010 model year vehicles. While the issue is common across the generation, this TSB provides official dealer guidance for this specific year.
  • 2012+: A wiring diagram indicates a change in certain electrical connectors (AF5, AF11) starting from March 2012 production. While not directly linked to P0607, it highlights that mid-cycle wiring changes exist and technicians should use the correct diagram for the vehicle's specific production date.

Diagnostic Flowchart

Other Known Issues on This Vehicle

Issues unrelated to this code that are worth knowing about as an owner of this generation:

  • Rubber VVT-i Oil Line Rupture 🔴 High — Affects early 2010 models (and prior years 2007-2009). The line was updated to an all-metal part mid-production. Failure leads to rapid, catastrophic oil loss and engine seizure. (Ref: LSC (Limited Service Campaign) 9LH covered 2007-2009 models, but the issue can still exist on early 2010s not covered by the campaign.)
  • Timing Cover Oil Leak 🟠 Medium — A common oil leak that develops over time, typically at higher mileage (80k+ miles). It appears as an oil seep or drip on the passenger side of the engine. (Ref: TSB L-SB-0002-20 provides guidance on distinguishing between minor 'seeps' and actionable 'leaks'.)
  • Cracked or Sticky Dashboard 🟡 Low — Very common across this generation due to material degradation from heat and humidity. The dashboard can become shiny, sticky, or develop cracks. (Ref: Warranty Enhancement Program ZLD extended the warranty for this issue, but it has since expired.)
  • Power Steering Rack Leaks 🟠 Medium — Leaks can develop from the power steering rack and pinion system, even at sub-100,000-mile intervals, leading to a loss of power steering fluid.
  • Water Pump Failure 🟠 Medium — Considered one of the more common major issues on the 2GR-FE engine. Symptoms include a sweet coolant smell or grinding/howling noises from the drive belt area.

Used vs. New Parts: Buying Guide for This Vehicle

When a used part is the smart pick: A used Engine Control Module (ECM) from a reputable salvage yard is a very sensible choice, as it can save hundreds of dollars over a new unit. Used OEM oxygen sensors are generally not recommended due to their limited lifespan.

Donor-vehicle mileage cap: roughly under 120000 miles for the part to have meaningful remaining life.

What to inspect on the donor part:

  • For a used ECM, ensure the donor vehicle was not in a flood or had significant electrical fire damage.
  • Verify the part number on the used ECM exactly matches the original unit.
  • Ask the seller if they offer a warranty or a return policy in case the unit is defective.

OEM-only on this vehicle (don't cheap out):

  • Engine Control Module (ECM): While a used OEM unit is fine, avoid unbranded, new 'no-name' aftermarket ECMs. Stick with original Lexus/Denso parts, whether new, remanufactured, or used.

Aftermarket brands forum-validated for this vehicle:

  • Denso for Oxygen Sensors (Denso is the OEM supplier, part 234-4509 is the correct aftermarket equivalent for Bank 1 Sensor 2).
  • Flagship One (FS1), Flashmasters: These are reputable sources for remanufactured and pre-programmed ECMs.

Brands owners have reported issues with on this vehicle:

  • Universal Oxygen Sensors: Avoid 'universal' O2 sensors that require splicing wires. They are a common source of problems. A direct-fit sensor is essential.

Real Owner Stories

Aggregated from forums and TSBs cited above. Mileages and costs reflect what owners reported in those sources.

2012 Lexus RX 350 2GR-FE

Symptoms: Codes P0607, P0138, and P1604 present simultaneously.

What fixed it: Replaced the Bank 1 Sensor 2 oxygen sensor with a Denso unit and replaced an aging 5-year-old battery.

Source hint: ClubLexus thread '2012 RX350 Codes 0607 0138 1604'

2010 Lexus RX 350 2GR-FE

Symptoms: Check AWD, CEL, and Trac off lights appeared immediately after a rainstorm.

What fixed it: Checked and cleared the sunroof drains and dried out the interior/connectors.

Source hint: ClubLexus.com Thread: 'P0138, P0607 -- RX350, Check AWD, CEL and Trac off'

2011 Lexus RX 350 2GR-FE

Symptoms: P0607 code triggered specifically after rain.

What fixed it: Fixed a leak originating from a blocked sunroof drain.

Source hint: ClubLexus.com Thread: '2011 w/P0607 code after rain'

Documented NHTSA Reports

Lexus CT 200h (Cross-Manufacturer Reference)

Symptoms: An owner reported that during a transition to engine startup, the engine light came on with codes P0302, P0304, and P0607 detected.

What fixed it: A certified mechanic replaced four ignition coils, but NHTSA ODI #11585050 notes there was no change in the issue after the repair.

Frequently Asked Questions

Does TSB L-SB-0023-10 apply to my 2010 Lexus RX 350?
Yes, TSB L-SB-0023-10 specifically addresses 2010 RX 350 models experiencing P0607 and P0138 codes. It directs technicians to inspect the 'AF2' connector for corrosion caused by water leaking from the A-pillar seam.
Can a clogged sunroof drain really cause a P0607 ECM code on my RX 350?
Yes. Debris can clog the sunroof drain tubes, causing rainwater to overflow into the driver-side footwell. This moisture shorts out the AF2 electrical connector, which triggers the P0607 code and often O2 sensor codes like P0138.
What brand of oxygen sensor should I use to fix the P0607 code?
It is highly recommended to use an OEM-quality brand like Denso. Using non-OEM sensors can lead to compatibility issues and may not resolve the erratic high voltage signals that trigger the P0607 code.
Is there a specific connector I should check for water damage if I have P0607?
Yes, you should inspect the 'AF2' connector located in the driver's side kick panel/footwell area. This large, multi-wire connector is known to corrode when water enters from the A-pillar or sunroof drains.
My RX 350 has a 'Check AWD System' message and P0607; are they related?
Yes, the 'Check AWD System' message, along with VSC and Trac Off lights, are common symptoms that appear on the dashboard when the ECM detects a P0607 fault.
Could a weak battery be the reason my Lexus is throwing a P0607 code?
Yes, low or unstable system voltage from an aging battery or failing alternator can cause the ECM to set P0607. Owners have reported that replacing a 5-year-old battery helped resolve the issue.
Lexus RX 350 Water Intrusion Fix | ABS/Stability/Traction Control 🚨 Bank 1 Sensor 2 O2 Sensor FIX
Lexus RX 350 Water Intrusion Fix | ABS/Stability/Traction Control 🚨 Bank 1 Sensor 2 O2 Sensor FIX
INFORMATION UPDATE! 2010-2015 RX350 How to check for leaks and how to install rear security shade
INFORMATION UPDATE! 2010-2015 RX350 How to check for leaks and how to install rear security shade
Leaks WATER inside your Lexus RX 350 450h 2010-2015, how to solve it
Leaks WATER inside your Lexus RX 350 450h 2010-2015, how to solve it
How to Unclog or Clean a Sunroof Drain
How to Unclog or Clean a Sunroof Drain
Lexus RX 350 Engine Light P0138 | Bank 1 Sensor 2 ABS/VSC/TC Problem! WATCH THIS FIRST! 🤯 🤷‍♂️
Lexus RX 350 Engine Light P0138 | Bank 1 Sensor 2 ABS/VSC/TC Problem! WATCH THIS FIRST! 🤯 🤷‍♂️
How to Replace Lexus RX350 ECU?
How to Replace Lexus RX350 ECU?
2008 Lexus RX350 Used ECM
2008 Lexus RX350 Used ECM
Wrenchy
Article researched & written by
Go-Parts' AI research assistant. Every article is backed by live web research, verified OEM data, and real technician knowledge — so you get accurate, up-to-date information you can trust.
Meet Wrenchy → Updated May 30, 2026

The information in this article is provided for general reference and educational purposes only. Vehicle specifications, procedures, and part compatibility can vary by production date, trim level, and region. Always consult your vehicle's factory service manual and verify part numbers before purchasing or performing repairs. Safety-critical components such as airbags, seat belts, and braking systems should be installed by a qualified professional.

Year Coverage
This article covers the OBD-II Code P0607 (Deep Dive) for:
  • Lexus RX 350: 201020112012201320142015
In this article
🧭 Diagnostic Flowchart
Jump to ▴

Email This Guide

We'll send you a link to this article so you can read it later or share it.

Added to cart · Part