About 10,000 people have rallied in Hungary's capital Budapest against new labour laws, which have been labelled "slave" legislation by opponents.
The crowds marched towards parliament and the state TV headquarters, in what was the fourth and largest protest since the laws were passed last week.
Police fired tear gas to disperse protesters near the TV station.
New rules mean companies can demand up to 400 hours of overtime a year and delay payment for it for three years.
The government of Prime Minister Viktor Orban says the labour reform will benefit workers as well as companies who need to fill a labour shortage.
Sunday's demonstration was led by trade unionists and students.
The event was dubbed "Happy Xmas Prime Minister". Mr Orban is seen by his opponents as becoming increasingly authoritarian.
Such demonstrations are rare in Hungary, where Mr Orban's policies enjoy widespread support, despite repeated condemnation from other EU nations.
In elections earlier this year, the prime minister's Fidesz party won a two-thirds majority in parliament, which he often uses to force his agenda through.
Last week's vote was particularly contentious. Opposition politicians caused chaos in parliament, preventing the Speaker from reaching the podium while blowing whistles to disrupt proceedings.
In the end, the law was pushed through. That evening, hundreds of demonstrators gathered outside the parliament building, and protests have continued since.
The labour shortages the government seeks to address with the new law are rooted in long-term trends. Hungary's population has been in decline for years, as deaths outpace births, according to the European statistics agency. Its unemployment rate, at 4.2% in 2017, is one of the lowest in the EU.
Hungary is also experiencing a "brain drain" as well-educated people take advantage of free movement within Europe. The problem is serious enough to have prompted a 2015 programme to encourage young people to return home, offering housing and employment support.
The governing Fidesz party has said the protests are the work of foreign mercenaries paid by Hungarian-born US billionaire George Soros.
Mr Soros denies this, and says the Hungarian authorities are using him as a scapegoat.