The ship are capacity controlled. Once the ship reaches a certain # of passengers, they can no longer offer a 3rd or a 4th in a cabin even when their is a bed. Ask your TA to waitlist your son and if unable to do that, to check once a week for any changes. People cancel all the time.
I hope that helps. good luck.