Ukraine's parliament voted on Monday for constitutional changes to give separatist-minded eastern regions a special status - but divisions in the pro-Western camp and violent street protests suggested the changes would face a rougher ride to become law.
At least four police and national guard were badly hurt when a grenade was lobbed from a crowd of nationalists demonstrating outside parliament against the "decentralisation" draft law that President Petro Poroshenko and his government are pushing as part of a blueprint to end separatist rebellion in the east.
Ukraine's national guard said about 50 of its members were hurt, including four with serious wounds, by the blast.
At a boisterous session, with many deputies shouting "shame" and rhythmically beating parliamentary benches, a total of 265 deputies voted in favour of the first reading of the bill, 39 more than that required to pass.
But many coalition allies, including former prime minister Yulia Tymoshenko, spoke against it and it is open to question whether Poroshenko will be able to whip up the necessary 300 votes for it to get through a second and final reading later this year.
Approval of legislation for special status for parts of Donetsk and Luhansk regions, which are largely controlled by Russian-backed separatists, is a key element of a peace agreement reached in Minsk, Belarus, in February.
Though a ceasefire is under pressure from sporadic shelling and shooting which government troops and rebels blame on each other, Western governments see the deal as holding out the best possible prospects for peace and are urging Ukraine to abide by the letter of the Minsk agreement.
"This (the bill) will give our Western partners the ability to put pressure on Russia to fulfil three basic points of the Minsk agreement - the ceasefire, withdrawal of Russian forces from Ukraine and re-establishment of control over the border," said Maksim Burbak of Prime Minister Arseny Yatseniuk's Popular Front party.
"We have to support the international 'anti-Putin' coalition," said Yuri Lutsenko of the Poroshenko bloc, referring to Russian President Vladimir Putin.
But opponents of the bill said it played into Russia's hands and would lead ultimately to Ukraine losing control over the Donbass - the name given to the industrialised east, swathes of which are controlled by separatists now.
"We believe that these anti-Ukrainian changes to the Constitution ... are a road to realisation of Putin's plan for destroying Ukraine," said Radical party leader Oleh Lyashko.
"This is not the road to peace but to decentralisation. This is a diametrically opposed process which forces us to lose territory," said Tymoshenko.
"Putin does not need the Donbass. He needs war in Ukraine. Our task in the vote is to get back to negotiations on the right road to bring peace, not the illusion of peace," she said.
A Reuters TV cameraman said police were knocked off their feet by the blast of the explosive device - assumed to be a grenade - thrown from the crowd. He said two police were treated for wounds at the spot and there were pools of blood on the street.
The dissenting voices in parliament and protests outside showed that Poroshenko might be facing an uphill task to "sell" vital parts of the Minsk agreement to his people and increasingly restive pro-government paramilitary groups before the turn of the year.
That is when other elements of the agreement, including local elections, are supposed to be in place and Ukraine is supposed to have regained control of its border with Russia.
More than 6,500 people have been killed in the east since pro-Russian separatists rebelled against the Kiev government after Russia annexed Crimea in response to the ousting of a Moscow-backed president by street protests and his replacement by a pro-Western leadership.
Putin and the leaders of France and Germany on Saturday backed efforts to reinstate an effective ceasefire from Sept. 1 in line with a decision by Kiev and rebel representatives last Wednesday.
Putin, in a three-way phone call with France's Francois Hollande and German Chancellor Angela Merkel, blamed Kiev's forces for shelling populated areas while Germany criticised the rebels for seeking to hold elections outside the framework of Ukrainian law.
Follow us on Twitter: @CNBCWorld