The Last Time I Saw Paris

As World War II ends in Europe, Stars and Stripes journalist Charles Wills (Van Johnson) is on the streets of Paris, covering the celebrations. He is suddenly grabbed by a beautiful woman, who kisses him and disappears. Charles follows the crowd to CafÃ© Dhingo and meets another pretty woman named Marion Ellswirth (Donna Reed). The mutual attraction is instant and she invites him to join her father's celebration of the end of the war in Europe. Charles, Marion and her persistent French suitor Claude Matine (George Dolenz) arrive at the Ellswirth household, and we find that the woman who had kissed Charles is Marion's younger sister Helen (Elizabeth Taylor).
Their father, James Ellswirth (Walter Pidgeon), had survived World War I and promptly joined the Lost Generation. Unlike most drifters, he never grew out of it; raising his two daughters to desire such a lifestyle. Helen takes after her father and uses her beauty to sustain a life of luxury even though they are flat broke. Marion goes the other way and looks for serious-minded and conventional young men such as Claude, an aspiring prosecutor, and Charles, the future novelist.
Charles and Helen fall in love and start dating. After Helen recovers from a near-death case of pneumonia, they get married and settle in Paris. James good-naturedly joins the happy family of Charles, with Helen eventually having a daughter Vickie (Sandy Descher). Marion, having lost Charles to Helen, agrees to marry Claude. Charles struggles to make ends meet with his meagre salary, unsuccessfully works on his novels and looks after Vickie.
At about this time, the barren oil fields in Texas James had bought years before finally begin to produce. Charles, to whom James had given the oil fields as a dowry, quits his job, and Helen and James begin to host parties instead of going to them. Sudden wealth changes Helen, who becomes more responsible, while Charles parties his wealth away after quitting his newspaper job and having all his novels rejected by publishers. They also each start to pursue other interests: Helen flirts with handsome tennis player Paul Lane (Roger Moore), while Charles competes in a local Paris-to-Monte Carlo race with professional divorcee Lorraine Quarl (Eva Gabor).
After the race Charles returns to Paris, only to find Helen sitting in CafÃ© Dhingo with Paul. A fight breaks out between Paul and Charles, and an angry Charles goes home first and puts the chain on the door, preventing it from being opened all the way. When Helen comes home and tries to enter she can't. She calls out to him, but Charles is in a drunken stupor on the staircase and we hear the bottle drop from his hands as Helen calls. Helen ends up having to walk all the way to her sister's in the snow and rain. She catches pneumonia again and dies.
Marion petitions for and gets full custody of Vickie, while Charles returns home to America. A few years later, having straightened himself out, published a book, and stopped boozing, Charles returns to Paris, hoping his reform will persuade Marion to give Vickie back to him. Charles tells Marion that he only has one drink a day now. Marion refuses, still feeling resentful towards Charles for having fallen for Helen instead of her. Seeing that Charles and Vickie belong together, Claude steps in and tells Marion that she is punishing Charles for his not realizing that Marion loved him. It is painful for him to tell her that he, Claude, could not have all of her love, but Charles should not be punished any more.
Marion goes into CafÃ© Dhingo (on whose main wall is a big picture of Helen) to look for Charles (who is gazing at the painting) and tells him that Helen would not have wanted him to be alone. Outside the cafe, Claude is with Vickie. The child runs to Charles and Charles and the child walk off together as the movie ends.

Question: Who steps in and tells Marion that she is punishing Charles for his not realizing that she loved him?
Answer: Claude