Hardus Viljoen took a wicket with his first ball in Test cricket as England lost both their opening batsmen cheaply on the second day of the third Test against South Africa at the Wanderers Stadium on Friday.
England were 27 for two at lunch after bowling out South Africa for 313.
Kagiso Rabada took the first wicket when he had Alex Hales caught at second slip for one.
More From This Section
Viljoen's first ball was down the leg side and Cook followed it for wicketkeeper Dane Vilas to make a superb catch, diving far to his right. It was the second successive innings in which Cook had been caught down the leg side.
Stuart Broad, James Anderson and Ben Stokes took a wicket apiece as South Africa added 46 runs to their overnight total of 267 for seven.
Wicketkeeper Jonny Bairstow took six catches and missed a chance to equal the world record of seven when he dropped last batsman Morne Morkel.
All of the South African batsmen reached double figures - the 13th instance in Tests. It was the lowest total in which it had been achieved.
Broad ended an eighth wicket partnership of 56 between Chris Morris and Rabada when he had Morris caught behind for 28. Rabada followed in the next over, caught behind off Anderson.
New cap Viljoen and Morkel added 32 for the last wicket and England?s frustration grew when Morkel was dropped by Bairstow, leaping to his left, off Anderson.
One ball later Anderson was ordered out of the bowling attack for running on the prohibited area of the pitch after two official warnings. Ben Stokes took over from Anderson and with his first ball of the day had Morkel caught at first slip by Cook.
Stokes finished with the best English figures of three for 53.