South Africa's World Cup build-up (UK users only)
International users World Cup build-up video highlights here
South Africa coach Carlos Alberto Parreira has dropped West Ham striker Benni McCarthy from his final 23-man squad for this summer's World Cup.
The 32-year-old, who is his country's record goalscorer, has struggled with his fitness and come in for criticism at home for being overweight.
McCarthy was one of five players cut from Parreira's provisional squad.
Premier League midfield duo Steven Pienaar of Everton and Fulham's Kagiso Dikgacoi were both selected.
Portsmouth defender Aaron Makoena - who became the first South African to reach 100 caps in the 5-0 friendly win over Guatemala on Monday - was also picked by the World Cup hosts, who open the tournament at Soccer City against Mexico in a Group A clash on 11 June.
Other surprise omissions from the squad were goalkeeper Rowen Fernandez, who plays for German side Arminia Bielefeld, and defender Bryce Moon, who plys his trade in Greece with PAOK.
Moon was seen as the likeliest player to deputise at right-back behind Siboniso Gaxa but the slot went to Anele Ngcongca, who is also able to operate in midfield.
Uncapped Maritzburg United goalkeeper Shuaib Walters was selected ahead of Fernandez.
Left-back Innocent Mdledle and left-side midfielder Franklin Cale were the other two players left out of the final squad.
Midfielder Andile Jali, who was originally part of the provisional squad, was diagnosed with a mild heart condition that ruled him out of selection on 23 May.
"I am not going to talk about individuals who did not make the final squad. We applied five principles when making our choices," Parreira told a news conference.
"This is not the end of the road for the five footballers whose dreams I have cut short. There will be other opportunities to play for the national team."
McCarthy has scored a record 31 goals in 79 caps for South Africa and represented the Bafana Bafana at both the 1998 and 2002 World Cups.
His relationship with the national side has not always been an easy one - he has twice previously retired from international football when it clashed with his club career in Europe, damaging his reputation in his homeland.
A knee injury has limited his involvement for West Ham since joining them on 1 February from Premier League rivals Blackburn.
He featured in only one of South Africa's four warm-up matches last month, coming on as a second-half substitute in a 2-1 win over Colombia at Soccer City on 27 May.
In the two warm-up matches prior to this, South Africa secured a goalless draw with North Korea and beat Jamaica 2-0.
The subsequent victory over Guatemala made it 11 games unbeaten for Brazilian coach Parreira since taking charge of the side.
After facing Mexico in World Cup Group A on 11 June in Johannesburg, South Africa play Uruguay five days later ahead of a final clash with France on 22 June.
Full South Africa squad:
Goalkeepers: Moeneeb Josephs (Orlando Pirates), Itumeleng Khune (Kaizer Chiefs), Shu-Aib Walters (Maritzburg United)
Defenders: Matthew Booth, Siboniso Gaxa (both Mamelodi Sundowns), Bongani Khumalo (SuperSport United), Tsepo Masilela (Maccabi Haifa), Aaron Mokoena (Portsmouth), Anele Ngcongoa (Racing Genk), Siyabonga Sangweni (Lamontville Golden Arrows), Lucas Thwala (Orlando Pirates).
Midfielders: Lance Davids (Ajax Cape Town), Kagisho Dikgacoi (Fulham), Thanduyise Khuboni (Lamontville Golden Arrows), Reneilwe Letsholonyane (Kaizer Chiefs), Teko Modise (Orlando Pirates), Surprise Moriri (Mamelodi Sundowns), Steven Pienaar (Everton), MacBeth Sibaya (Rubin Kazan), Siphiwe Tshabalala (Kaizer Chiefs).
Forwards: Katlego Mphela (Mamelodi Sundowns), Siyabonga Nomvete (Moroka Swallows), Bernard Parker (FC Twente).