Rain continued to disrupt Sri Lanka’s plans for a declaration, as over an hour of play was lost between lunch and tea. After 48 overs, the hosts are 203 for six in their second innings, a lead of 342.

Skipper Angelo Mathews is still at the crease, undefeated on an attacking 48. Kumar Sangakkara fell for 72 when play resumed after a lengthy delay after lunch, the left-hander being the second Morne Morkel scalp of the innings.

Morkel picked up his third, and his 200th Test wicket, when he had Kithuruwan Vithanage brilliantly caught by Faf du Plessis at point. Dale Steyn picked up the third wicket of the session, as he had debutant Niroshan Dickwella caught by AB de Villiers.

Mathews’ approach with the bat suggested the declaration is not far off, and the home side will be wary of the weather, and look to give themselves as much time as possible to try and bowl out South Africa to square the series.