Now if he messes that up, its his choice, and ultimately, he will be again suffering from guilt and shame.
But he still gets YOU.
Remove YOU from his list of options, and I believe he just MIGHT do the right thing. And if he doesn't, then he wasn't a man of quality with whom you should be with anyway.