John Deere Engines SPN237FMI31 Fault Code: VIN Security Data Missing
Also called Vehicle Communication Time Out, Vehicle Model Number Invalid
VIN Security Data Missing · ai-assisted, editor-reviewed · Last updated 2026-07-13
TL;DR
SPN 237 FMI 31 sets when the ECU finds that the vehicle model number stored on the CCU, ECU, or ICU does not match across all three controllers, or the VIN request times out. The engine will derate to low idle and the related code SPN 189 FMI 0 (also shown as DTC 000180.00) will also be present.
High severity. The ECU limits engine speed to low idle when this code sets, which stops normal operation until the mismatch is fixed. It is not an immediate mechanical damage risk, but the machine cannot be used productively until resolved.
What does John Deere Engines error code SPN237FMI31 mean?
SPN 237 FMI 31 relates to the Vehicle Identification Number (VIN) system used by John Deere engine controls. The VIN carries the vehicle model number, serial number, and option code, and the ECU cross-checks this data against the CCU (Cab Control Unit), the ECU (Engine Control Unit), and the ICU (Instrument Control Unit) to confirm that only correct, matching electronic controllers are installed on the machine.
This code covers three related conditions: VIN security data missing, a vehicle communication time out during the VIN request, and an invalid vehicle model number. In each case the ECU cannot confirm that the controllers on the machine belong together, so it treats the machine as unverified and limits engine speed to low idle for safety and anti-theft reasons.
When this code sets, expect SPN 189 FMI 0 to also be active. This is a paired code and both should be addressed together as part of the same VIN mismatch condition.
What triggers a John Deere Engines SPN237FMI31 code?
After power on, the ECU waits 50 seconds and then requests the VIN. If no response is received, it retries 2 more times in 50 second increments. After a valid VIN response, the ECU waits 1 hour before requesting the VIN again. The code sets if the ECU detects a vehicle model number on the CCU, ECU, or ICU that does not match the vehicle model number reported by the other two controllers.
Common causes of SPN237FMI31
- A controller (CCU, ECU, or ICU) was recently reprogrammed and the released software has a problem affecting VIN data.
- A replacement or swapped controller was installed that carries a VIN not matching the vehicle's Product Identification Number (PIN).
- CAN bus communication problems preventing the VIN request/response exchange between controllers.
- Vehicle communication time out where no VIN response is received after the retry attempts.
How to troubleshoot John Deere Engines SPN237FMI31: first checks
- Place the vehicle in diagnostic mode before doing anything else.
- Check the Vehicle Identification Number on the CCU, ECU, and ICU by looking at Address 251, and confirm each matches the Product Identification Number (PIN) on the machine.
- If a controller was recently removed for any reason, confirm the original controller has been put back on the vehicle rather than a substitute.
- If a controller shows a mismatched VIN and the original unit is not available, reprogram the controller(s) so the VIN data matches the PIN.
- Inspect CAN bus wiring and connectors for damage or poor connections, since bus communication problems can cause this code.
- Check for the paired code SPN 189 FMI 0, which confirms the VIN mismatch condition is active.
How the code clears
No separate clearing step is listed beyond fixing the underlying mismatch. Once the correct controller is reinstalled or reprogrammed so all VIN data matches the Product Identification Number (PIN), and CAN bus communication is confirmed good, the code should clear on its own during normal VIN verification cycles. For full diagnostic steps, check the application technical manual for your specific machine.
Frequently asked questions
What does SPN 237 FMI 31 mean on a John Deere engine?
It means the ECU found that the vehicle model number on one of the controllers (CCU, ECU, or ICU) does not match the other two, or the VIN request timed out without a response. The system cannot confirm the controllers belong to this machine.
Why does the engine only run at low idle with this code?
The ECU derates the engine to low idle as a protective response when it cannot verify that all controllers match the vehicle's identity. This is intentional and will continue until the VIN mismatch is resolved.
Will I see other codes with SPN 237 FMI 31?
Yes. SPN 189 FMI 0 (also referenced as DTC 000180.00) will also be present whenever SPN 237 FMI 31 sets. Both should be diagnosed together.
I just replaced a controller, could that cause this code?
Yes. If a CCU, ECU, or ICU was recently replaced or reprogrammed, its VIN data may not match the Product Identification Number (PIN) on the machine. Reinstalling the original controller or reprogramming the new one to match the PIN typically resolves it.
Where do I check the VIN stored on each controller?
Place the vehicle in diagnostic mode and check Address 251 on the CCU, ECU, and ICU. Compare each controller's VIN against the vehicle's Product Identification Number (PIN) to find the mismatch.