Afghan President Hamid Karzai cancelled a two-day state visit to Sri Lanka on Sunday, the foreign ministry in Colombo said, as Taliban insurgents killed 20 of his soldiers in eastern Afghanistan.
"Please note that the visit of the President of Afghanistan to Sri Lanka has been cancelled," the ministry said, without giving a reason.
Karzai had been due to hold talks with President Mahinda Rajapakse and address reporters in Colombo on Monday before returning home.
The sudden cancellation came as Afghan officials said the Taliban stormed an army outpost in the eastern province of Kunar, killing 20 soldiers and kidnapping another seven.
Karzai had last visited Sri Lanka in 2008 to attend a South Asian summit.