The 29-year-old right-hander hurt himself while playing football on Friday and will be replaced by Alex Hales, an England official said.

England are leading the five-match series 2-0. The first match was washed out by monsoon rains.

Bairstow's replacement comes after England all-rounder Liam Dawson was ruled out of the entire tournament. Dawson strained his right side while bowling during England's win in the third ODI last week. Dawson was replaced by Joe Denly.

Sri Lanka's Kusal Perera, who scored 30 in the second ODI, is meanwhile out of the rest of the series after a hamstring injury. He has been replaced by Sadeera Samarawickrama.