I found that my DS would often sneak in a catnap on the way home from a morning activity. Initially it stressed me out but I never let him nap for longer than 10 minutes so it wasn't too devastating. I just made sure to keep him really busy the rest of the morning so that he would be tired at nap time. Could you try an earlier nap? DS naps from 12:30-2:30ish because it meshes best with his day care nap timing, I made that a conscious choice. Dinner is at 4:45, bath at 6:15, in bed by 6:45.
When he wakes, is he crying or just lying in his crib chatting? Could you walk to the nursery? That might provide enough stimulation to keep your DS awake.