M.D.
That behavior is not allowed, so when it happens introduce him to time-out. Get down to his eye level. Explain to him that what he said/did hurt your feelings and he needs some time to think about how he can talk to you nicely because you love him very much and are sure that he doesn't really mean it. So have him take three minutes (1 minute per year of age) to sit down and think about what he really wants to tell you that is upsetting him. Put him back if he gets up from the time-out spot (I send my sons to their room or have one sit at the kitchen table if they are both misbehaving). When the three minutes are up (set a timer so you don't forget him there) tell him you love him and what he said hurt and ask him if something is bothering him that he'd like to talk about with kind words. After your talk tell him you love him and give him a hug and a kiss.
Hopefully that'll help. It also sets up communication between the two of you so that he will know he can come to you if he has a problem and needs to talk.
Good luck,
: ) Maureen