Bulgarian President Rumen Radev has vetoed an anti-corruption bill passed in parliament last month, saying it would not be effective.
He argued that the bill would not be independent and could be used to persecute political opponents.
The move is considered embarrassing for Bulgaria, which assumed the EU’s rotating presidency on Monday.
The EU has been pressing the government to take steps to rein in administrative and political corruption for years.
Anti-corruption agency Transparency International has said Bulgaria is the most corrupt country in the bloc.
The bill, which would create a special unit tasked with tackling high-level abuse, was passed by parliament on 20 December.
It was hoped this would get the issue off the political agenda before Bulgaria took over the EU presidency, BBC central Europe correspondent Nick Thorpe says.
But President Radev vetoed the legislation.
“I believe that the adopted law not only does not create an adequate legal basis for tackling corruption but will even make it difficult to fight it,” he said in a statement.
Analysts had also warned that the management of the proposed anti-corruption unit would be appointed by parliament and therefore might not be truly independent.
The bill now goes back to parliament for further debate, although lawmakers have the power to overturn the president’s veto.
Bulgaria’s governing centre-right coalition has not yet commented on the president’s move.
However, Kornelia Ninova, who leads the opposition Socialist Party, said it created “a golden opportunity” for the government to produce better anti-corruption legislation.
“If we do not tackle corruption, we cannot solve any of the other problems – poverty, health, education, demography,” she said.