I think it happens when you are pressing a direction, and the frame skips, and it 'remembers' that movement state, and keeps walking in that direction.
I have the same problem on a 4870.
The way to fix it in-game is quite simple; walk in the direction your character is walking, and it will reset.
To fix the actual bug? I'm not so sure.