Dhaka: Mushfiqur Rahim hit a gutsy half-century under pressure as Bangladesh recovered from a horror start to post a competitive 220 against the West Indies in the second one-day international on Saturday.

Bangladesh were struggling at 18/4 in the opening five overs after birthday boy Ravi Rampaul and Kemar Roach bagged two wickets apiece, but skipper Rahim led his team's recovery with a 109-ball 69.

Wicket-keeper Rahim, playing his 100th one-day international, added 40 runs for the fifth wicket with Alok Kapali (20) and 57 for the next with Naeem Islam (30) to steady the innings.

The Bangladeshi captain hit one six and two fours before being caught by Marlon Samuels at deep square-leg off seamer Andre Russell while going for a big shot in the 40th over.

Nasir Hossain scored a useful 54-ball 50 and Abdur Razzak contributed 25 off 19 balls to help Bangladesh cross the 200-mark.

The hosts made a dismal start after winning the toss when they lost three wickets for one run in the first two overs, with paceman Roach taking two wickets in the space of four balls and Rampaul one.

Fast bowler Rampaul, who turned 27 on Saturday, struck with his fourth delivery when he had opener Imrul Kayes caught by wicket-keeper Denesh Ramdin for no score.

Roach got two wickets in his first over, having opener Tamim Iqbal caught by Russell at third-man and then Mohammad Ashraful by skipper Darren Sammy in the slips to send Bangladesh reeling at 1-3.

Former skipper Shakib Al Hasan (12) began aggressively when he hit Roach for three fours in an over but his flourish did not last long as he fell in the next over, caught behind off Rampaul.

But Rahim received valuable support from Kapali and Naeem to prop up the innings and keep alive his team's hopes of levelling the three-match series.

The West Indies made one change from the side that won the opening one-dayer by 40 runs in Dhaka on Thursday, with fit-again Sammy replacing opener Adrian Barath.

Bangladesh retained their team.