(CNN) -- South African Jacques Kallis has become only the fourth batsman in history to reach 12,000 Test runs, although his milestone was the only cheer for the home side on the opening day of the second Test against Australia in Johannesburg.
Kallis, 36, scored 54, one of three South Africans to claim half-centuries, before the hosts dramatically collapsed, losing their last six wickets for just 25 runs as they were bowled out for just 266.
AB de Villiers (64) and Ashwell Prince (50) had also scored freely, sharing a stand of 112 as South Africa looked on course to build up a healthy first innings total.
But Peter Siddle took three wickets for the visitors, including the scalps of de Villiers and Kallis, while spinners Nathan Lyon and Michael Clarke shared two apiece as Australia ended the first day completely on top as they look to avenge their humiliating eight wicket first Test defeat in Cape Town last week.
"There were far too many soft dismissals," Kallis told reporters. "There was poor execution and shot-making."
Only Sachin Tendulkar (15,048), Rahul Dravid (12,860) and Ricky Ponting (12,495) have scored more Test runs than Kallis.
Meanwhile, there was also a wicket for teenager bowler Patrick Cummins, who replaced the injured Ryan Harris.
At 18 years and 193 days, Cummins became the second youngest Australian Test player after Ian Craig, who was 17 years 239 days when he made his debut, also against South Africa, at Melbourne in 1952/53.
And Cummins celebrated his call up when he had Hashim Amla caught at slip by Ponting for 19.