AB de Villiers will serve as South Africa's stand-in captain for the Boxing Day Test against Zimbabwe after a respiratory tract infection delayed Faf du Plessis' comeback from back and shoulder injuries.
Du Plessis had looked set to shake off his fitness concerns in order to lead the Proteas in this week's four-day Test.
However, his absence was confirmed by Cricket South Africa on Tuesday, hours before the match was due to begin in Port Elizabeth.
De Villiers has therefore been named skipper as he returns to the Test arena for the first time since January 2016, while South Africa are hopeful Du Plessis will be fit for the first of three five-day matches against India, starting on January 5.
Team manager Dr Mohammed Moosajee said: "Faf has been making steady progress from the respective back and shoulder injuries and until last week was on track to make a comeback in this match. He developed a respiratory tract infection which delayed his recovery this week, and subsequently made it difficult for him to make a full recovery in time.
"He will continue to receive treatment and rehab from our physiotherapist, Craig Govender, and we are hopeful he will recover in time to lead the team for the first Test match against India starting in Cape Town on January 5th."
South Africa's national selection panel convenor, Linda Zondi, added: "It is unfortunate that Faf is missing out due to injury but we would rather take the precaution ahead of a busy summer of cricket at home.
"AB has captained South Africa in both the limited-overs and Test formats and his experience and expertise will be invaluable for this first Test match of the season.
"This is a one-off appointment and we thank AB for accepting the decision at such short notice."