Not that I know exactly how to fix it, but if you pull the instrument cluster, and the speedo cable out of the back (its a bit difficult, but will come out), you can shoot some lubricant down into it.
Mine had a nasty squeek in it that for the longest time I thought was my belt slipping, but could never figure it out. Turns out it was my speedo. A little lube and I never had the problem again.
If its not that, it could be the gears that cause it to spin. Possibly they have issues, but I always prefer starting simple then working up to the harder problems.