Even riding instructors can get thrown from time to time if the horse twists or lands in a particularly awkward way.
You seem to have got him sussed most of the time.
Do you know why he bucks? Is it excess energy, a pain in his back or does his saddle fit badly? Only the riding school can make these checks via chiropracters, saddlers etc. He might just be picking up on your fear and trying to frighten you more to get away with not working too hard, or not at all. A horse that bucks or rears is usually thinking backwards so it is important to ride him forward.
What you need to do is to get really angry. Think of somebody or something you really hate, sit down, lift one hand drop it and lift the other and kick seven bells out of him. It sounds cruel, but if you ride strongly forward he cannot buck. As soon as he is going a bit more forward, even if it is in canter, let him go for a bit, but do not let him stop until YOU say! Be careful to use your legs and seat.
If it is excess energy, ask for him to be lunged or free schooled before you get on. If he has never had you off, you are probably alright. Just lacking in self confidence.