Record-breaking Zimbabwe debutant Gary Ballance frustrated West Indies by becoming only the second batter to score a Test century for two countries on Tuesday.

The former England left-hander struck 137 not out on day four of the first Test at Queens Sports Club, where Zimbabwe declared on 379-9 and the Windies closed on 21-0 – leading by 89 runs.

Ballance made four hundreds for England in 23 matches in the longest format, the last of which came against West Indies in April 2015.

The 33-year-old signed a two-year contact with Zimbabwe Cricket last December, having been granted a release from his Yorkshire contract after a challenging period in which he endured struggles with his mental health.

Zimbabwe-born Ballance last year admitted to using racist and offensive language towards his Yorkshire team-mate Azeem Rafiq.

Rafiq said he had accepted an apology from Ballance, who was suspended for an indefinite period from England selection.

He played three white-ball matches for his country of birth last month and now has the highest score by a Zimbabwe Test debutant, beating the previous record of 121 set by Dave Houghton – the team's current coach.

Kepler Wessels is the only other player to have made hundreds for more than one country in the longest format, reaching three figures for South Africa and Australia.