A suicide bomber has killed at least 20 people, believed to be militants of the Lashkar-e-Islam group, in north-west Pakistan, officials say.

The Taliban said the suicide bombing was a revenge attack. There have been sporadic clashes between the groups.

The blast in Khyber tribal agency came hours after 10 soldiers and at least 22 Lashkar-e-Islam militants were killed in clashes in the same area.

The military and several militant groups are fighting to control Khyber.

None of the reports can be independently confirmed as there is no media access to the area.

A spokesman for Lashkar-e-Islam claimed that only six fighters were killed in the suicide blast, which happened in the remote Nahaqai area of Tirah valley in Khyber.

A local official told BBC Urdu's Rifatullah Orakzai that the suicide bomber detonated his explosives jacket in the presence of a large number of Lashkar-e-Islam fighters.

A spokesman for the local Taliban said the blast was to avenge the killing of their fighters at the hands of the Lashkar-e-Islam gunmen two months ago.

Khyber has been a sanctuary for the hardline Lashkar-e-Islam, which fights other religious groups in the area, and security forces have conducted operations in the area for years.

Earlier on Friday, Lashkar-e-Islam militants ambushed a military checkpoint also in the Tirah Valley. The military said 10 soldiers were killed. It said troops repelled the attack, killing 22 militants.

A major army operation was launched in the area about three months ago, forcing some 20,000 residents to shift to a camp for internally displaced people in the Peshawar region.

There had been a lull in fighting across the north-west in recent months. But this week has seen a spate of gun battles and bombings, raising concerns that violence is worsening.

The Khyber region is an important trade route between Pakistan and Afghanistan.