Servo pauses near end of move

I'm using an MG995 servo with my arduino Nano and I can control it fine.

However, if I set an angle, it'll move to maybe within 5 degrees of that, then pauses for a second or two, then completes its move.

Also, after a few moves, it seems to stop responding to commands

This makes the move rather unreliable and I can't work with that.

Here's a gif of what happens:

Can anyone suggest what is causing this?


Ok, I’ve tried externally powering it and that seems to have solved the issues.