Twenty-two people crammed in a 16-seater minibus died when it collided with a truck transporting sugar cane in Mpumalanga on Saturday night.
Police said the driver of the minibus was trying to overtake the truck on the N4, but realised too late that it was turning right onto a side road.
The taxi hit the truck on its side as it turned.
The accident happened between Marloth Park and Komatipoort, about 20 kilometres from the Mozambican border, at about 9.30pm.
The people, who are believed to be Mozambicans, were travelling home from Gauteng.
They included 18 adults, three children and a toddler.
The taxi caught on fire and the passengers were trapped inside. Most of them were burnt beyond recognition.
The Mpumalanga department of roads and transport believes the taxi was speeding in an attempt to beat the closing time for the border.
Department spokesman, Joseph Mabuza, said yesterday: "I'm told the border closes at 10pm and we suspect the minibus was rushing to beat the time when the accident happened."
He said the department was deeply saddened by the fact that the 16-seater minibus was overloaded at the time of the accident.
"We don't doubt that both speed and overloading contributed towards the accident, but investigations are still continuing," Mabuza said.
The minibus hit the right middle part of the horse-and-trailer truck and the truck driver was not injured.
l About three hours later a taxi driver died and passengers were injured following a head-on collision between two taxis along the same highway.
The accident happened between the ZASM Tunnel and Ngodwana shortly after midnight.
Mabuza said the two vehicles were travelling in opposite directions when one of the drivers swerved to avoid hitting an animal, believed to have been a springbok.
The driver swerved into the lane meant for oncoming traffic and collided head-on with another minibus.
One of the vehicles overturned and was lying on its roof on one side of the road while the other was still on its wheels on the other side of the road.