P0847 on 2016-2020 Mazda CX-9: Transmission Pressure Switch Fault Causes and Fixes
On a 2016-2020 Mazda CX-9, code P0847 is almost always caused by an internal transmission issue, specifically a stuck oil pressure switch due to contamination. The official Mazda TSB-guided repair starts with a TCM software update. If the code persists, the oil pressure switches inside the transmission's control valve body must be replaced, which is a costly, professional repair.
- P0847 on your CX-9 is a serious transmission code that requires prompt attention.
- The problem is a known issue documented by Mazda and is most likely an internal transmission fault related to sticking pressure switches inside the valve body.
- Do not immediately assume the valve body needs replacement. The official Mazda fix starts with a cheaper, faster TCM software update.
- Ignoring this code can lead to limp mode and potentially severe, expensive internal transmission damage.
What's Unique About the 2016-2020 Mazda CX-9
Unlike many vehicles where this code might point to a simple external sensor failure, Mazda has issued multiple Technical Service Bulletins (TSBs) for the 2016-2020 CX-9 and its platform mates acknowledging a specific internal problem. The TSB states the cause is 'the oil pressure switch A and/or B at the control valve body temporarily or permanently getting stuck due to contamination entering the passage.' Because these switches are integrated into the control valve body, the repair is complex. The official repair procedure starts with a software update before proceeding to component replacement.
Diagnostic Flowchart
Tap your situation to follow the diagnostic path that matches what you're seeing on this vehicle.
Symptoms You May Notice
- Check Engine Light is on
- Automatic Transaxle (AT) warning light is on
- Harsh or erratic shifting
- Transmission may feel like it's slipping
- Vehicle may enter 'limp mode,' getting stuck in a single gear
- Delayed engagement when shifting from Park to Drive or Reverse
- Inability to shift into higher gears
- Replacing the entire transmission when only the internal pressure switches or a software update is needed. One owner was quoted $8,000 for a new transmission when the initial issue was just the P0847 code.
- Replacing the control valve body assembly immediately, without first attempting the less expensive TCM software update as recommended by Mazda's TSB.
- Replacing the TCM when the problem is mechanical (stuck switch) or software-related within the transmission.
Most Likely Causes
- Outdated Transmission Control Module (TCM) Software 🔴 High Probability → Shop Transmission Assembly Mazda's TSB 05-003/20 and its predecessors indicate that the diagnostic logic was improved. The first step of the official repair procedure is to reprogram the TCM with the latest calibration.
How to confirm: A Mazda dealer or a qualified shop with access to the Mazda Diagnostic and Repair Software (MDARS) can check the current TCM calibration file against the latest available version listed in the TSB.
Typical fix: Reprogramming the TCM to the latest software version. A transmission fluid flush is often recommended at the same time.
Est. part cost: $0 (software only) - Sticking Internal Oil Pressure Switches (within Control Valve Body) 🔴 High Probability → Shop Engine Oil Pressure Switch Mazda TSBs explicitly state this is caused by contamination entering the fluid passages and causing the pressure switches (A and/or B) to stick.
How to confirm: This is the presumed cause if a TCM reprogram does not fix the issue. A technician follows the TSB diagnostic flow, which points to switch replacement after a software update fails to resolve the code.
Typical fix: Replacement of the oil pressure switches (A and B) located on the control valve body. Some shops may opt to replace the entire control valve body assembly. This requires draining the fluid and removing the transmission oil pan.
Est. part cost: $150-$1500 - Dirty or Low Transmission Fluid 🟡 Medium Probability → Shop Transmission Assembly The primary cause is contamination within the fluid. While the switches are the point of failure, the fluid is the vector. If the fluid is old or has never been changed, the risk of contamination is higher.
How to confirm: Check the transmission fluid level and condition. The fluid should be at the correct level, pink/red in color, and not smell burnt or contain visible debris. A fluid analysis from a lab like Blackstone can provide more detail.
Typical fix: Perform a transmission fluid drain and fill or a full fluid exchange. If the fluid is very contaminated, the pressure switches may already be stuck and require replacement.
Est. part cost: $100-$300 - Wiring or Connector Issue ⚪ Low Probability
How to confirm: Visually inspect the transmission wiring harness for any signs of damage, corrosion, or loose connections at the main transmission connector and at the TCM.
Typical fix: Repair or replace the damaged section of the wiring harness or clean/replace the connector.
Est. part cost: $20-$200
Rare But Worth Checking
- Faulty Transmission Control Module (TCM): → Shop Transmission Assembly This is uncommon. The TCM should only be considered after all other possibilities, especially the control valve body, wiring, and software, have been definitively ruled out.
Diagnosis Steps
- Verify the P0847 code is present using an OBD-II scanner, and check for any other related transmission codes (P0842, P0872, P0877, P0780, P1738).
- Consult Mazda Technical Service Bulletin #05-003/20 or the newer #05-002-23 for the official diagnostic flow.
- Using Mazda's diagnostic software, check the current TCM calibration file. If it is not the latest version, perform the 'TCM Reprogramming' procedure.
- After reprogramming, clear codes and test drive. If the code does not return, the repair is complete.
- If the code returns, proceed to 'Oil Pressure Switch Replacement'. The TSB recommends replacing both oil pressure switches A and B at the same time.
- This involves draining the transmission fluid, removing the oil pan, and replacing both oil pressure switches on the valve body.
- After replacement, reinstall components, refill with new Mazda ATF-FZ fluid, and perform the 'Initial Learning Procedure' as instructed by Mazda's service information.
Parts You'll Likely Need
- Oil Pressure Switch A
(OEM #FZ01-21-2C0)— This is the specific switch assembly that causes code P0847, defined as 'Oil pressure switch No. 2 (oil pressure switch A) stuck on'. It is replaced if a TCM reprogram does not work.
Trusted brands: Mazda (OEM)
OEM price range: $75-$125
Aftermarket price range: $50-$100 - Oil Pressure Switch B
(OEM #FZ01-21-2J0)— Mazda's TSB recommends replacing both switches A and B at the same time to prevent comebacks, as they are both prone to failure from contamination.
Trusted brands: Mazda (OEM)
OEM price range: $40-$80
Aftermarket price range: $30-$60 - Automatic Transmission Fluid
(OEM #0000-FZ-113E-01)— The fluid must be replaced anytime the transmission is opened for service. TSB 05-003/20 specifies using ATF-FZ fluid; approximately 3.5-4 US qt is needed for this service.
Trusted brands: Mazda ATF-FZ
OEM price range: $20-$30 per quart
Aftermarket price range: $15-$25 per quart - Transmission Control Valve Body — Some shops may replace the entire valve body assembly rather than just the individual switches. This is a more comprehensive but also more expensive repair. A misdiagnosis can lead to this unnecessary expense.
Trusted brands: Mazda (OEM)
OEM price range: $800-$1500
Aftermarket price range: $600-$1200
Related Codes That Often Appear With This One
- P0842 — Both codes relate to stuck transmission oil pressure switches, as documented in Mazda TSBs 05-003/20 and 05-002-23.
- P0872 — Both codes relate to stuck transmission oil pressure switches, as documented in Mazda TSBs 05-003/20 and 05-002-23.
- P0877 — Both codes relate to stuck transmission oil pressure switches, as documented in Mazda TSBs 05-003/20 and 05-002-23.
- P0780 — This indicates a 'Gear Shifting Malfunction' and often appears with pressure switch codes as they are all symptoms of the same internal transmission problem identified in TSBs.
- P1738 — A generic 'Automatic Transaxle Internal Malfunction' code that points to the same root cause identified in the TSBs.
Technical Service Bulletins (TSBs) & Recalls
- #05-002-23: POWER TRAIN, dated 2023-05-17. Mentions that vehicles may experience the check engine light and AT warning light with DTC P0847, among others.
- #05-003/20: CHECK ENGINE LIGHT AND A/T WARNING LIGHT ON WITH ONE OR MORE OF THESE DTCS... STORED IN TCM MEMORY. This is the key document, which supersedes multiple older TSBs. It defines P0847 as 'Oil pressure switch No. 2 (oil pressure switch A) stuck on', identifies contamination as the cause, and provides the detailed repair path of reprogramming the TCM first, then replacing the pressure switches if the code returns.
- Superseded TSBs: #05-004/19, #05-004/18, #05-005/16, #05-002/15. These older bulletins show a history of Mazda addressing this issue over several years.
Platform-Specific Known Issues
- Mazda has issued TSB #05-002-23 and the comprehensive, superseding TSB #05-003/20 for this issue. They state that contamination can cause internal oil pressure switches to stick, leading to code P0847 and others. The official repair procedure is a two-step process: first, reprogram the TCM with updated software. If that fails, replace the internal oil pressure switches A and B.
Mechanic-Grade Diagnostic Values
- Oil Pressure Switch State — expected: The switch is a simple on/off type. It should show continuity (closed circuit) when its corresponding hydraulic circuit is pressurized and an open circuit when it is not.. Failure: The switch being electrically stuck open or closed regardless of hydraulic pressure, which the TCM flags as a mismatch with the expected state for the current gear.
- Oil Pressure Switch Bolt Torque — expected: 9-10 N·m {92-101 kgf·cm, 80-88 in·lbf}. Failure: Improper torque can lead to leaks or damage to the valve body.
Hidden / Shadow Codes Worth Checking
- P0847:00: The ':00' suffix is a Failure Type Code used by Mazda's diagnostic system. It specifies a general electrical failure for the P0847 circuit, which the TSB further defines as 'Oil pressure switch No. 2 (oil pressure switch A) stuck on'. (see via This is typically visible on professional scan tools and dealer-level software like Mazda's MDARS/IDS.)
Scan Tool Commands That Help
- Mazda IDS/MDARS or Manual Procedure: Initial Learning Procedure — This procedure is mandatory after replacing the oil pressure switches or reprogramming/replacing the TCM. It allows the TCM to learn the hydraulic response times of the clutches and solenoids. A manual (non-scanner) method exists for DIYers: 1. Warm vehicle to normal operating temp. 2. With engine idling in Park, press and hold the brake pedal firmly for the entire procedure. 3. Shift to Neutral, then turn the engine OFF. 4. Shift to Manual mode and push the lever to the (-) position and hold for 5 seconds. 5. While still holding in (-), press the start button (engine will not start). 6. Shift back to Neutral. 7. Press the start button (engine will start). 8. Move shifter to (+) and hold for 5 seconds, then move to (-) and hold for 5 seconds. 9. The engine idle will increase to ~1200 RPM and the gear display will show 'M'. Release the shifter but leave it in manual mode. 10. Wait for the process to complete, at which point the idle will return to normal and the display will show 'M1'. 11. Shift to Park and turn off the engine. The reset is complete.
Real Owner Repair Stories
- Mazdas247 Forum user 'pallor' (2017 Mazda CX-5 Touring FWD, 120k miles) — Check Engine Light, AT, SBS, and TSC lights came on. After restart, only CEL remained. No noticeable performance issues. Code read as P0847.
❌ Tried (didn't work) The owner took the car to a Mazda dealership for diagnosis.
✅ What actually fixed it This story highlights a common misdiagnosis. The dealer quoted $1000 to replace 'Switch B' but strongly recommended a full $8000 transmission replacement, claiming contaminated fluid would cause issues, despite not checking the fluid. The owner, after finding the TSB, correctly identified that the recommended procedure is a software update first, followed by replacing BOTH switches (A and B), not the entire transmission.
OEM Part Supersession History
N/A→FZ01-21-2C0 (Switch A), FZ01-21-2J0 (Switch B)— Code P0847 is for 'Oil Pressure Switch A'. However, Mazda TSBs recommend replacing both Switch A and Switch B at the same time if the physical repair is performed, as both are susceptible to the same contamination issue.
Heads up: There is significant confusion between Switch A and Switch B in aftermarket parts listings. P0847 is specifically for a fault in Switch A (FZ01-21-2C0). P0842 and P0877 are for faults in Switch B (FZ01-21-2J0).
Helpful Videos
We Have This Part in Stock
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.
- Mazda CX-9:
- 🧭 Diagnostic Flowchart
- 🎬 Helpful Videos
- 🛍️ Shop This Part
- What's Unique About the 2016-2020 Mazda CX-9
- Symptoms You May Notice
- Most Likely Causes
- Rare But Worth Checking
- Diagnosis Steps
- Parts You'll Likely Need
- Related Codes That Often Appear With This One
- Technical Service Bulletins (TSBs) & Recalls
- Platform-Specific Known Issues
- Mechanic-Grade Diagnostic Values
- Hidden / Shadow Codes Worth Checking
- Scan Tool Commands That Help
- Real Owner Repair Stories
- OEM Part Supersession History
- 🎟️ Get 5% Off