England will start a four-match Test series in South Africa on Boxing Day next year after the dates for the tour were confirmed.
There will also be five one-dayers and two Twenty20 matches in the contest.
England were beaten 2-0 at home when the two countries last met in a Test series in 2012.
Andrew Strauss was the England skipper at the time and team-mate Kevin Pietersen was dropped after sending controversial texts to the opposition.
Pietersen apologised to Strauss and his team-mates for the texts and, despite being reintegrated into the side, he was later told he was not part of the team's plans, and effectively sacked, in the wake of the 5-0 whitewash in Australia.
England's last tour of South Africa, in 2009-2010 ended 1-1 and was the last time the host side played a four-match Test series.
"Any tour of South Africa is special and, as the Proteas currently set the benchmark in Test and one-day international cricket, it will be a real challenge which our emerging team will relish," said England and Wales Cricket Board managing director Paul Downton.
|England in South Africa 2015-16|
|26-30 December 2015||Test||Durban|
|2-6 January 2016||Test||Cape Town|
|6 February||ODI||Port Elizabeth|
|14 February||ODI||Cape Town|
|19 February||T20||Cape Town|