Anne Hathaway has vowed to give up alcohol for the next 18 years because she does not want to be drunk or hungover in front of her son.
The Hollywood star said she did not plan to drink again until Jonathan, now two, had left home.
Miss Hathaway, 36, revealed on US TV that she made the decision after getting drunk on rum while filming in Mauritius.
She told the Ellen DeGeneres Show: "I am going to stop drinking while my son is living in my house, just because I don't totally love the way I do it and he is getting to an age where he really does need me all the time in the mornings."
"I did one school run one day, where I dropped him off at school, I wasn't driving, but I was hungover and that was enough for me."