Dinesh Chandimal has been installed as Sri Lanka captain across all three formats after Angelo Mathews lost his role as skipper of the country's limited-overs teams following their exit from the Asia Cup in the UAE.
Mathews, 31, was renamed as Sri Lanka's limited-overs captain in January, six months after he relinquished the captaincy for both red and white-ball formats following a home series defeat to Zimbabwe.
Mathews, however, was unable to revive the team's fortunes in his latest stint, which came to an unceremonious end after Sri Lanka crashed out of the ongoing six-nation Asia Cup following first-round defeats by Bangladesh and Afghanistan.
"The national selectors on Sunday decided to appoint Dinesh Chandimal as the ODI captain to lead the team in the upcoming England series," Sri Lanka Cricket said in a statement.
"Accordingly, they have requested Angelo Mathews to relinquish his duties as the national ODI & T20I captain, with immediate effect."
Sri Lanka have been grappling with a leadership crisis over the last 18 months, during which Upul Tharanga, Lasith Malinga, Chamara Kapugedera and Thisara Perera have also been tried as ODI captains.
From October 10, Sri Lanka will host England for five one-day internationals, a one-off Twenty20 and three Tests.