Bangladesh cricket authorities on Tuesday sacked wicketkeeper-batsman Mushfiqur Rahim as one-day international captain and replaced him with injury-prone paceman Mashrafe Mortaza.
Mushfiqur, however, will continue to lead the Test side, Bangladesh Cricket Board president Nazmul Hassan announced after a BCB directors' meeting.
"Mushfiq (Rahim) is our best batsman at the moment. At the same time he also needs to lead the team and do the wicketkeeping job. This is a tremendous pressure for him," Nazmul told reporters.
"So we relieved him of some of his duties. Mashrafe will now lead the one-day international (ODI) side and Mushfiq will continue as the Test captain."
Tamim Iqbal and Shakib Al Hasan were appointed vice-captain for the Test and ODI sides respectively.
The decision follows the team's return from a disastrous tour of the West Indies where Bangladesh lost all the completed contests against their hosts in both Test matches and ODIs.
Mashrafe was put in charge only for the five-match ODI series against Zimbabwe, who will arrive in late October for a tour which will also include three Tests.
"You all know Mashrafe is an injury-prone player, so we cannot set a long-term plan with him. If he stays fit we will think about giving him captaincy for the World Cup 2015," said Nazmul.
Mashrafe has not played a Test match since 2009 when he was injured during a Test series against West Indies.
He is, however, a regular in ODI and Twenty20 formats barring a few injury-related breaks.
The 31-year-old led Bangladesh in two Twenty20 Internationals against Sri Lanka earlier this year.
Mushfiqur was appointed captain in 2011 after a tour of Zimbabwe.
He led Bangladesh in 16 Tests, 37 ODIs and 23 Twenty20 Internationals.
Last year he was appointed captain of the Bangladesh team until the World Cup 2015.