Had the same problem with my son's YJ. We replaced the thermostat and it helped some. We then flushed the heater core and it got much better. Check your temp gauge, It should run just under 200 deg once you are up temperature, If not, the definitely change your thermostat. Make sure you get a 195 deg. thermostat. If this does not alleviate the problem, once your engine is cool, take your heater hoses loose and flush with water. Also make sure you have plenty of antifreeze.