A suicide bomber killed at least 20 people, injuring another 80, in the town of Baiji, 250 kilometres north of Iraqi capital Baghdad, the BBC reported on Tuesday.
The bomber detonated the charge when he was stopped by police and local militias in the town, but appears to have been targeting queuing to buy gas cylinders in a residential area, the BBC said.
Local militias, who have turned against al-Qaeda, have been credited by US troops with helping reduced in half attacks in Iraq over the past six months, but now are finding themselves the target of terrorists.
This was the second attack in less than three months in the town, which was previously left in peace for two years.
Later in the day, another bomber killed four in Baquba, a town just north of Baghdad, while also wounding 21 people from the local militia, BBC said.