Thousands of people have protested against Czech President Milos Zeman on the 25th anniversary of the Velvet Revolution, which ended communist rule.
Demonstrators carried football-style red cards as a warning to Mr Zeman, while others threw eggs. One accidentally hit the German president.
Many are angry with Mr Zeman, who they see as too sympathetic to Russia.
The Velvet Revolution began on 17 November 1989 when police attacked a student protest.
A wave of demonstrations followed across the now Czech Republic, toppling the communist government and replacing it with one led by dissident playwright Vaclav Havel.
Some Czechs feel that certain aims of the revolution, such as the promotion of human rights, have been sidelined by Mr Zeman.
They also worry that the president, a former communist, is too close to both Russia and China.
Booed and jeered
On Monday, demonstrators carried banners reading "down with Zeman" and "we do not want to be a Russian colony".
As the president unveiled a plaque to the students involved in the 1989 protest, he was booed, jeered and pelted with eggs.
Though Mr Zeman appears not to have been hit, German President Joachim Gauck was struck during the attack.
Analysis: Rob Cameron, BBC Prague correspondent
The egg incident has already been subjected to presidential spin. A Czech spokesman said Germany's President Gauck was "in shock" after being hit in the temple; the Germans said Mr Gauck had been struck by a small fragment of egg shell and had laughed it off.
Mr Zeman's guests, though, must surely be taken aback by the level of hostility towards the Czech leader on what was supposed to be a solemn national occasion.
Mr Zeman himself told the crowd he was unafraid of them, and pointed out that he too had been there on 17 November 1989. But his claim that the riot police's violent suppression of the peaceful student protest was "no bloodbath" and "one of many such events" has been roundly condemned.
Mr Zeman angered many Czech citizens when he defended Russia's stance on Ukraine, declaring the conflict there "a civil war between two groups of Ukrainian citizens".
Though Moscow has long denied any direct involvement in the Ukraine crisis, the EU, of which the Czech Republic is a member, has imposed sanctions on Russia, saying it has supplied separatist rebels there with weapons and Russian fighters.
The Czech president also used derogatory language when discussing Russian protest group Pussy Riot in an expletive-filled interview earlier this month.
In October he shocked some when he said he wished to learned how China "stabilised" its society.
In the run-up to Monday's celebrations, Mr Zeman said the 1989 student protest had not triggered the Velvet Revolution.
Despite his participation in it, Mr Zeman said the historic protest had been just one of "any number of rallies" and he played down police brutality.
Mr Zeman still has the backing of many voters and his supporters were scheduled to hold a rally on Monday.
Also on Monday, Czech Prime Minister Bohuslav Sobotka travelled to the US to unveil a bust of Vaclav Havel in Congress. The former president died in 2011.