i have a simular problem with my horse, he starts on the left leg (on the left rein) and then changes as if he's giving up :P, i just trot him and then ask for canter again and repeat. i do that until he is cantering on the left leg for several strides then bring him back to trot (before he changes) and give him a pat. he seems to be getting the idea :) i also do this on a tight left hand circle so is harder for him to change. hope this helped, sometimes i think empathy os the best way.
Keep your feet on the ground when your head's in the clouds.