Cape Town - What a difference a day makes.
At the end of day one on Thursday South Africa were at the bottom of the barrel, having been bowled out for 242 while Australia were 105/0 in the opening Test in Perth.
A day later, and all of a sudden the Proteas are right back in it and perhaps even favourites to win the match.
A tremendous fightback from the South African bowlers got them right back into the Test and the series when they bowled Australia out for just 244 after the hosts had been 158/0.
LIVE: AUSTRALIA V PROTEAS, DAY 2
At stumps on day two South Africa were 104/2 in their second innings with a lead of 102.
They had lost Stephen Cook (11) and Hashim Amla (1) while Dean Elgar (46*) and JP Duminy (34*) were looking solid at the crease.
Australia lost all of their wickets for just 86 runs.
It was a remarkable fightback from the Proteas, with Vernon Philander's 4/56 the pick of the bowling.
But all of the bowlers stepped up after Steyn's injury had stunned Faf du Plessis and his men.
Cricket South Africa have since confirmed that Steyn has been ruled out of the series with a fractured bone in his shoulder.
Steyn leaving the field was a potentially harrowing thought for the Proteas, who went into the match with just three front-line seamers, leaving Morne Morkel out for debutant spinner Keshav Maharaj.
Steyn and Philander were much improved in the opening stages of the day, showing far more discipline and consistency in length as the hosts resumed on 105/0.
But despite the better bowling, David Warner and Shaun Marsh got through the initial burst relatively untroubled.
That was until Steyn, who had bashed away all morning, struck.
It may be his last contribution of the match, but it was a big one as he had the dangerous Warner caught by Hashim Amla in the slips for 97.
Then, just one over later, Steyn was off.
At that moment, it looked like South Africa were facing a long, tough Test match, but a couple of quick wickets gave a renewed sense of hope.
First Kagiso Rabada had Usman Khawaja clean bowled for four, before Maharaj had Aussie captain Steve Smith trapped LBW for 0.
It was a controversial moment as Smith came running down the wicket to the left-arm spinner.
He missed the ball, was hit on the pads and umpire Aleem Dar surprisingly gave Smith out.
The skipper reviewed immediately, but the decision stood as an irate Smith stormed off the pitch and Maharaj celebrated his first Test wicket.
Then it was Philander, also far better than he was on Thursday, who got on the board and it was also a crucially important moment as Marsh was trapped LBW for 63 just before lunch.
At lunch, the Aussies were 181/4.
It didn't get much better for them in the second session when Mitch Marsh was trapped LBW by Philander for 0.
It looked like Adam Voges and Peter Nevill were well on their way to getting things back on track, but then Rabada had the dangerous Voges caught and bowled for 7.
Maharaj had Mitchell Starc out for 0 in the next over and at that stage, the Aussies had lost seven wickets for 45 runs.
The spinner, in his 15th over on the bounce after Steyn left the field, then had Nevill caught bat-pad thanks to a fine catch from Amla at slip.
Philander wrapped up the tail in fine fashion, removing Josh Hazlewood (4) and Nathan Lyon in quick succession.