South African seamer Vernon Philander, who missed the last Test against New Zealand owing to a hamstring injury, has returned to the squad for the first cricket Test match against Pakistan.
He replaced all-rounder Ryan McLaren in the side.
Philander's replacement in the last Test seamer Rory Kleinveldt, and Jacques Rudolph will again provide the bowling and batting cover for the squad.
"We are very happy with the job that Rory did against New Zealand when Vernon dropped out while Jacques provides us with a lot of experience as the cover batsman," Cricket South Africa (CSA) selection convener Andrew Hudson said.
The first Test match against Pakistan will be played at Wanderers in Johannesburg from February 1.
South Africa squad:
Graeme Smith (capt), Hashim Amla, AB de Villiers, Faf du Plessis, Dean Elgar, Jacques Kallis, Rory Kleinveldt, Morne Morkel, Alviro Petersen, Robin Peterson, Vernon Philander, Jacques Rudolph, Dale Steyn.
Franklin steers New Zealand to unexpected win
De Villiers suspended for two ODIs for slow over rate
Du Plessis named South Africa captain for NZ T20
Injured Philander out of second New Zealand Test
India stay in 5th spot in ICC Test rankings