India seamer Mohammed Shami will not play in two test matches against South Africa, while bowler Deepak Chahar has withdrawn from the one-day international series.
The country's cricket board (BCCI) said on Saturday.
Shami, whose last test appearance came during India's World Test Championship final loss to Australia in June, had been picked in the squad for the two tests subject to him passing a fitness test.
"Mr Mohd Shami, whose participation in the test series was subject to fitness, has not been cleared by the BCCI medical team, and the fast bowler is ruled out of the two tests," the BCCI said in a statement.
"Mr Deepak Chahar has informed the BCCI that he will not be available for the upcoming ODI series due to a family medical emergency. The men's selection committee named Mr Akash Deep his replacement."
India's tour of South Africa began with a three-match Twenty20 International series, which ended level after the first game was abandoned due to rain.
They will play three ODIs between December 17-21 before the first test begins on December 26 in Pretoria, with the second on January 3 at Newlands in Cape Town.
The BCCI added that batter Shreyas Iyer would only play the first of the three ODIs against South Africa before joining the test squad.
India's ODI squad: Ruturaj Gaikwad, Sai Sudharsan, Tilak Varma, Rajat Patidar, Rinku Singh, Shreyas Iyer, KL Rahul (captain), Sanju Samson, Axar Patel, Washington Sundar, Kuldeep Yadav, Yuzvendra Chahal, Mukesh Kumar, Avesh Khan, Arshdeep Singh, Akash Deep


Victory Team's Ahmad Al Fahim takes on Dubai T100 for third year running
Abu Dhabi GP app serves as one-stop platform for race week attendees
Noskova beats Gauff to reach WTA Finals semis, Pegula stays in hunt
Etihad Airways and McLaren Racing take to the skies with racing team livery
