It looked like a different New Zealand side, which turned up on day two and extended the first-test against South Africa into a third-day at Newlands, in Cape Town on Thursday.
At stumps, the Black Caps were 169 for four, with Dean Brownlie on 69 and Bradley-john Wtling on 10, still facing a deficit of 133 after their atrocious first innings total of 45 all out.
Runs flowed freely after tea and, although they were living dangerously at times, New Zealand added 136 runs for the loss of two
wickets in the final session.
Showing more character and facing some hostile bowling, Brendon McCullum fought hard for his half-century, which came off 96-balls, compiling an 89-run third-wicket stand off 81-balls with Dean Brownlie. McCullum was eventually out trapped in front by Robin Peterson, for 51.
Brownlie was dropped twice within two overs, and rode his luck to play some magnificent shots. Daniel Flynn joined Brownlie and the pair added 37 before AB de Villiers held on to an inside edge off Kallis to see off Flynn for 14.
Earlier, when Martin Guptill fell to Steyn in the first over of the innings, clipping the ball to Hashim Amla at mid-wicket, it looked to
be all over and top-scorer from the first innings, Kane Williamson was caught at second slip by Petersen off the bowling of Kallis –
introduced into the attack for the first time in the match.
In sharp contrast to the first day's play, Philander and Morne Morkel remained wicketless despite plugging away with some fine bowling, particularly with the newer ball.
South Africa declared just after lunch on 347 for eight, with a lead of 302 runs.
Picking themselves up after what was possibly the worst day in New Zealand's Test history, the Black Caps took to the field in the
morning and were rewarded with the early wicket of Alviro Petersen.
On 103 overnight, Petersen faced four deliveries before Trent Boult struck with his first delivery.
It nipped back and Petersen edged it on to his stumps. His innings of 106 came off 176-balls and included 11 fours
and a six.
Faf du Plessis got an outside edge to Chris Martin, which flew to Williamson at gully and the batsman departed for 15.
A loud cheer greeted Elgar's first Test run, after he made a pair on debut against Australia in Perth last year.
Elgar scratched around for his 21 runs before he edged Boult to Watling behind the stumps.
AB de Villiers brought up his 30th Test half-century in 88 balls, striking 11 boundaries, and went out on 66 after walking across his
stumps, leaving them exposed to Martin's delivery.
Philander joined Robin Peterson at the crease and with the declaration imminent, Peterson (5) flicked the ball square for four and tried to do the same with the next delivery. However, when Martin's accurate delivery removed the middle stump, captain Graeme Smith gave the signal to end the innings.
Martin returned the best figures for New Zealand, bagging three for 63 while Boult took 3/78. Doug Bracewell and James Franklin shared the remaining wickets.