this is the first time I'm asking anything on this StackExchange, so I'm not sure about they right question format, so I'll get straight to the point.

I performed a Gauge Cluster Light Self-Test on my 2007 Honda Accord (CM2), and after doing this, my speedometer now shows a speed below 0. It increases accordingly when I accelerate (as normal), but if I'm actually doing around 60kph, it will show about 35kph on the speedometer.

I'm not an experienced technician, but I'd really appreciate if there was a solution I could do myself to fix this issue.

Edit: Just checked speed with a GPS, and my speedometer reading is exactly 15kms less than the actual speed shown on GPS.

Speedo showing speed below zero

  • Have you tried repeating the self-test?
    – Solar Mike
    Commented May 4, 2022 at 10:42
  • Yes, I've tried mutliple times. I've had no success bringing it back.
    – Nathan Dsouza
    Commented May 4, 2022 at 11:39
  • ask at a Honda repair shop ... they may give you an answer at no charge
    – jsotola
    Commented May 4, 2022 at 15:35
  • 1
    maybe you set the speedometer to MPH
    – jsotola
    Commented May 4, 2022 at 15:36
  • What speed does it show when stopped? Can you edit and post a picture?
    – GdD
    Commented May 4, 2022 at 16:14

3 Answers 3


The Vehicle Speed Sensor (VSS) is managed by your ECU. The speedometer drive circuit receives pulses from the VSS and the pulse rate increases as the car accelerates which then displays on your speedometer. Assuming you are using stock tire height the issue is likely being caused by one of the following in order of likelihood.

  • Vehicle Speed Sensor (VSS) malfunction. Typically you will get a P0500 code. This is cheap and easy to replace. If your cruise control is working then it is unlikely the VSS is the problem.
  • Wiring issue to the VSS. There could be a short in the VSS wire and can be visually inspected for frayed/broken wire.
  • Speedometer malfunctioning. If you have a scan tool you can use the 'live data' function to validate the speedometer and vehicle speed match. If they do not match then the speedometer is faulty.
  • ECU (Engine Control Unit) being faulty. If the ECU is malfunctioning it may no longer be able to send the speed telemetry data to the speedometer. A check engine code should be set if the ECU is not working properly.
  • Hmm - it seemed to be quite a bit simpler that these. I tested the cruise control and it started exactly at 30kph (15kph on the speedo) - meaning it couldnt be the VSS. I had someone check it and we opened up the speedometer - all that had to be done, was to move the speedo needle back to a zero position - now it's working as intended. Thanks so much though. Commented May 7, 2022 at 6:44

The numbers cited look suspiciously like the indicator has changed to giving numerical values in miles per hour instead of km per hour. Look into where you might reset that. Look also into what circuitry elements are concerned with that change.

  • I did check, and the speed was in fact exactly 15kph lower than my speed, at all speeds. I tested this at 100kph (85kph on speedo), at 50kph (35 on the speedo). This was all checked with my GPS speed (from my phone). Thanks for your answer though. Commented May 7, 2022 at 6:59

So. It turns out to be a much simpler problem than I thought.

As per @MJH's answer above, I checked the cruise control and that worked at 30kph (15kph on the speedo). So it wasn't a faulty VSS.

Removing the speedometer unit (after removing just four screws, two connectors, a tube and some trim), and removing the plastic cover allowed us to remove the speedometer needle and re-place it at the zero position.

I know, kinda anti-climactic, but I was just way too worried to think otherwise. Thanks for your help everyone!

Especially @MJH, for your answer and helped confirm it wasn't a fault wiring or sensor issue.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .