Dinesh Karthik, the selection committee announced on Tuesday, will replace Wriddhiman Saha for the third Test.
The Tamil Nadu wicket-keeper batsman will join the team before the third Test begins on January 24 in Johannesburg. He has 1000 runs and 56 dismissals in 23 Tests. But he last played a Test against Bangladesh in Chittagong in 2010.
Saha, a BCCI release said, suffered an upper left hamstring tendon injury during a training session ahead of the second Test.
Captain Virat Kohli was criticised for bringing in Parthiv Patel for Saha in the ongoing second Test in Centurion.