Silent Night, Bloody Night

On Christmas Eve 1950, Wilfred Butler runs out of his rural house and appears to have been set on fire. He collapses in the snow and is believed to be dead.
Twenty years later, lawyer John Carter and his assistant Ingrid arrive in a small Massachusetts town on Christmas Eve. John meets with the town's nobles, Mayor Adams, Tess Howard, Sheriff Bill Mason and Charlie Towman. John is revealed to be the lawyer of Jeffrey Butler, Wilfred's grandson, and is trying to sell the Butler mansion for $50,000 by noon the next day. After a call to his wife, John is revealed to be having an affair with Ingrid. The two stay the night at the Butler mansion, unaware that they are being watched. After dinner, the two go upstairs to a bedroom to have sex. The mysterious person walks in on them and kills them both with a felling axe. The killer calls the police and reveals himself to be "Marianne."
After Tess, who is the town's phone operator, intercepts the call, she leaves her assistant in charge and drives out to the Butler mansion. Marianne greets Tess, who is visibly frightened. She is knocked over the head repeatedly with a candle holder. At the same time, Sheriff Mason is heading to the mansion, but stops at the nearby cemetery after seeing a disturbed gravesite from the road. Upon approaching the grave, he discovers it is Wilfred Butler's, and that the grave has been dug up and Butler's body removed. He is struck over the head and killed, and falls into the grave.
Mayor Adams receives a strange phone call asking him to go to the Butler mansion; he leaves his adult daughter Diane at home alone. Not long after Adams leaves, a man arrives at the house and says his name is Jeffrey Butler, Wilfred's grandson. Jeffrey says he found the sheriff's car abandoned at the cemetery and "borrowed" it. After a brief conversation, Diane and Jeffrey go up to the cemetery to look for the sheriff. They stumble upon Wilfred's disturbed grave, but find no sight of the sheriff. The two go into town to Towman's to see if they can find out what is happening.
Jeffrey takes Towman to the mansion and leaves him there to go back and retrieve Diane. Jeffrey hits and kills Towman, who had been stabbed in the eyes. Diane's suspicions of Jeffrey start to grow after this incident. The two enter the house and Jeffrey finds an old diary. The diary reveals that Wilfred had an incestuous relationship with his daughter, Marianne, and Jeffrey was the result. Wilfred turned the mansion into an asylum and admitted his own daughter. He soon regretted his decision and set loose the inmates on Christmas Eve in 1935. The inmates killed all the doctors and Marianne in the process. Jeffrey reveals that Towman, Mayor Adams, Tess Howard and Sheriff Bill Mason were former inmates that stayed behind in town.
Mayor Adams finally arrives to the mansion and finds Diane and Jeffrey there. Adams and Jeffrey hold each other at gunpoint, each believing the other to be the killer. The two open fire, killing each other. A distraught Diane is greeted by "Marianne," who is really the elderly Wilfred Butler. Butler went after John Carter, Mayor Adams, Tess Howard, and Sheriff Bill Mason to get revenge for his daughter's death and used his grandson/son as a decoy. Diane grabs Jeffrey's gun and shoots Butler. A year later, Diane takes one last look at the Butler mansion before it is destroyed by a bulldozer crew.

Question: Who shot Wilfred Butler?
Answer: Diane