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


England dismiss Pakistan for 110 to seize control of Lord's test
Raphinha, Fermin score as Barcelona beat Athletic in home opener
Celtic and Rangers to play cup match behind closed doors after pitch invasion
Chelsea and Fulham reach League Cup third round as Welbeck scores on debut
PSG to meet Barca, Man City as Champions League draw throws up marquee ties