If you want to keep him, and at his high-level of production, you need to come to an agreement with him about compensation.
Note, compensation isn't just about money. If your company won't allow you to pay him more, find some other way, such as flexible hours, shorter hours, et cet.
Level with him, and see if you can come to an arrangement, he feels slighted, do something to make him better.
putPut it out there and ask him if there's anything he'd like that would make up for the lack of money. See what happens. Worst case scenario is that you're no worse off than you are now.
By the way, don't call him unprofessional, he only dialed down to "still the best, but less awesome", things could be much, MUCH worse.
Look at THIS nightmare scenario