A good Samaritan picking up people's tabs and giving out money at a Florida Waffle House was shot dead Sunday in a fight that seems to have been sparked by his generous gestures, officials said.

Craig Brewer, 41, was shot in the head and killed at about 3 a.m. during an "altercation" at a Gainesville Waffle House, according to a statement from the Alachua County Sheriff's Office.

Ezekiel Hicks Alachua County Sheriff

The suspected shooter, Ezekiel Hicks, 25, was arrested at the scene.

Witnesses told deputies "that the victim was paying for meals and giving out money, and that devolved into a verbal and then physical altercation," said Lt. Brett Rhodenizer with the sheriff's office.

The Gainesville Sun reported that Brewer was picking up customers' tabs and handing out $20 bills, and a woman who was there with Hicks got angry because Brewer hadn't paid for her meal.

Hicks confronted Brewer and started arguing with him, and then left the restaurant to get a handgun, according to the Alachua County Sheriff's Office statement. Hicks went back inside, despite protests from a bystander, and started a fight with Brewer.

"As the fight continued, the suspect took the handgun from his pants and shot Brewer in the head," the statement said.

Deputies had already been called to the Waffle House to disperse a "large unruly crowd," but when they got there, they discovered a murder scene, Rhodenizer said. Hicks was arrested about two minutes after deputies arrived, he said, adding that a 9mm handgun was found at the scene.

Hicks is being held without bail on charges of first-degree premeditated murder and carrying an unlicensed firearm, according to Alachua County Jail records.

An employee at the Gainesville Waffle House directed NBC News to Waffle House's corporate offices for comment.

"We are saddened by this tragic incident and right now, our first thoughts are with the victim’s family during this most difficult time," Waffle House Inc. spokesman Pat Warner said in a statement.