Remove and flush out the speedo drive with some brake cleaner, strip it down and inspect it.....
If all okay, pack with some bearing grease (Castrol LM will do) and refit.
Buy a Honda speedo cable and fit, having first pulled the inner out and applied a layer of LM grease to it. Ensure properly connected at the top and bottom and routed properly. This can be difficult especially on an ABS equipped bike.
If this doesn't cure it, your speedo itself is probably suspect......
Normally a speedo bounces around just before it stops doing anything at all.