At 1630 GMT the rand was 0.3 percent weaker to 15.9805 per dollar, recovering from a three-week low of 16.2440.
The currency had fallen as investors fretted about an ongoing public row between police and Finance Minister Pravin Gordhan and a possible rating downgrade.