Two taxi drivers were shot and wounded while 14 passengers cowered in fear as a commuter opened fire randomly at a taxi rank on Saturday.
The commuter apparently lost his cool when taximen told him to board another taxi as the one he was in was not going to his destination.
The suspect handed himself over to the police after the shooting and apparently confessed that he had shot some people.
Police said the suspect had earlier broken into his brother's house and stole the gun from the safe.
"It is understood that the suspect had told relatives that he was going to kill someone in Tekwane South, Nelspruit, who was having an affair with his girlfriend," said Captain Phillip Fakude.
But when the 37-year-old man was told that he should get into another taxi, he became angry.
"He went on a shooting spree after accusing the taxi drivers of delaying him," Fakude told Sowetan.
"He became angry when he was told by the driver of a taxi he was in that they were not allowed to transport people to Tekwane South.
"But instead of getting into another taxi to which he was directed, he accused the taximen of wasting his time.
"He then produced a gun and shot randomly at the waiting minibus taxi, damaging the taxi in the process," said Fakude.
One of the two taxi drivers sustained injuries to his leg and the other to his buttocks and were admitted to a local hospital.
Fakude said the police found four empty cartridges at the scene.
The man faces a charge of malicious damage to property, possession of an illegal firearm and two counts of attempted murder.
He was not asked to plead when he appeared in the KaNyamazane magistrate's court yesterday.
The case was postponed to September 1 for a bail application.