I would get his teeth checked first thing....Or it could be a bad habit that he developed over time. Meaning a way to get you off his back and back on the ground. I would saddle him and bridle him using a o-ring snaffle bit and clip your lunge line to a chain chin strap. Lunge him to the left first, and tap tap tap on the line until you get a soft bend in his neck, nose coming into the circle. Stop tapping as soon as you see him soften. Work both sides of your horse. Then from the ground, stand beside your horse holding onto the back of your saddle and onto the one rein closest to you. Tap tap tap on the rein as you lightly pull the horses nose towards his stirup as soon as you see he is bending in towards the stirrup release the pull. He might only bend a little at first but in time he will bend all the way. He might move his feet so that is why it is important to hold onto the back of the saddle and just follow him until he stands still. Then you can do the same thing from in the saddle. He will probably go around in a circle the first few times but continue the tap tap tap on the rein until he bends intoward the stirrup as soon as he stops his feet and is bending towards the stirrup release the rein.
He sounds well trained so he probably has done these lessons.
I would then ride him in a round pen using only leg cues and the soft tap tap tap on the rien and ask him for alot of left and right turns. If he decides he wants to only back up ask him to back up even more. If he seems like he is going to buck or act up do the neck bending excercise until he softens and bends into your stirrup. It wont take long before he decides he would rather move forward calmly than do all the work.
My trainer tought me these lessons when I bought my horse who came to me with bad habits and now he is great.