"AB de Villiers is struggling with lower back stiffness and has been withdrawn from the three-day warm-up match as a precaution," said team manager Dr Mohammed Moosajee.
"He is, however, available for selection for the Test match against Zimbabwe," added Dr Moosajee.
De Villiers, regarded as one of the best batsmen of his generation and also as one of the greatest of all time, stepped down from Test captaincy in December 2016 following an elbow injury, which kept him out of the team for a long period. Later a self-imposed exile sidelined him from Tests in 2017.
He recently made a return from long injury lay-off when he played for Titans in the Ram Slam T20 Challenge last month.
Pacer Chris Morris will also not play in the warm-up game due to groin injury.
An uncapped all-rounder Dayyaan Galiem has been brought into the South African Invitation XI squad, as a replacement for Morris.
After that, both the teams will square off for the four-day Boxing Day Test at Port Elizabeth on December 26. (ANI)