ABout two months ago, I noticed that my speedo was going haywire -- reading zero, then jumping up to max, then flitting about in between, then zero again, etc, etc. Long story short, it returned to normal after a couple of days and I put it down to moisture somewhere in the electrics after giving it a particularly damn good wash.
Could this be your issue?