Marlon Samuels struck his fifth Test century to move the West Indies towards Bangladesh's first innings total at the close of the second day's play in the second Test on Thursday.
Samuels (109 not out) and Darren Bravo, unbeaten on 85, added 198 runs for the second wicket as the tourists closed on 241 for 2 wickets to trail Bangladesh by 146 runs.
The West Indies had earlier lost openers Kieran Powell (13) to pace bowler Rubel Hossain when the left-hander gave a catch to Shakib Al Hasan at deep square leg; then Chris Gayle (25) was quickly removed by off-spinner Sohag Gazi.
Wicketkeeper Mushfiqur Rahim smartly caught Gayle when he tried to sweep Gazi, but could only manage an inside edge, leaving the West Indies 43-2.
However Samuels and Bravo kept Bangladesh at bay in the remaining hours, batting with ease on a pitch which did not offer any significant turn to the local spinners.
Samuels, quiet in the tourists' first Test win in Dhaka, completed his century with a four off Shakib then raised his bat to acknowledge his teammates' applause.
Earlier West Indies needed a little over five overs to end the first innings of Bangladesh, who added 22 before being all out for 387.
Darren Sammy took a catch off his own bowling to dismiss Mahmudullah for 76 and end Bangladesh's record ninth wicket stand at 184.
Mahmudullah and Abul Hasan fell just 12 runs short of the World record of 195, held by South Africa's Mark Boucher and Pat Symcox against Pakistan at Johannesburg in 1998.
Abul, unbeaten on 100 overnight which had made him only the second debutant to score a century batting at number 10, missed another record when he was caught by Sammy off Fidel Edwards for 113.
Another five runs would have seen Abul overtake Englishman Walter Read's best score by a number 10 of 117 against Australia at the Oval in 1884 but Edwards, with figures of 6-90 and his third six-wicket Test haul in 55 matches, preserved the record.
Bangladesh (1st innings): (overnight 365-8)
Tamin Iqbal b Sammy 32
Nazimuddin c Powell b Edwards 4
Shahriar Nafees c Ramdin b Sammy 26
Naeem Islam b Edwards 16
Shakib Al Hasan c Ramdin b Edwards 17
Mushfiqur Rahim c Ramdin b Edwards 38
Nasir Hossain c Edwards b Permaul 52
Mahmudullah c&b Sammy 76
Sohag Gazi lbw b Edwards 0
Abul Hasan c Sammy b Edwards 113
Rubel Hossain not out 5
Extras: (b-4, lb-3, nb-1) 8
Total: (all out; 91.1 overs) 387
Fall of wickets: 1-5, 2-64, 3-77, 4-93, 5-98, 6-185, 7-193, 8-193, 9-377.
Bowling: Edwards 18.1-2-90-6 (1nb), Best 10-3-31-0, Sammy 23-4-74-3, Narine 19-0-91-0, Permaul 19-2-79-1, Samuels 2-0-15-0.
West Indies (1st innings):
C.Gayle c Rahim b Gazi 25
K.Powell c Shakib b Rubel 13
D.Bravo not out 85
M.Samuels not out 109
Extras: (lb-3, w-1, nb-5) 9
Total: (two wickets; 82 overs) 241
Fall of wickets: 1-37, 2-43
To bat: S.Chanderpaul, D.Ramdin, D.Sammy (captain), V.Permaul, S.Narine, T.Best, F.Edwards.
Bowling: Sohag Gazi 20-3-67-1, Abul Hasan 14-0-56-0 (w-1 nb-3), Rubel Hossain 14-5-31-1 (nb-2), Naeem Islam 1-0-3-0, Shakib Al Hasan 26-8-56-0, Mahmudullah 7-0-25-0.
West Indies lead the two-match series 1-0
Image: File picture of Marlon Samuels
Photograph: Laurence Griffiths/Getty Images