One of the real reasons I double check this situation is because on moved and on stopped don't work as instead.
put an "OR" block and check when the "player speed = 0" or "on stopped".
The same for walking, "player speed > 0" or "on moved"
A much more complex system about basic movements can be found on my signature. I'll update this sandBOX next month, with new code, using the recently changes of the beta.