France's socialist government suffered the indignity of a first-round exit in a parliamentary by-election to replace a disgraced minister forced out over a tax-dodging scandal.
Former budget minister Jerome Cahuzac, who is facing charges of tax fraud, stepped down from his parliamentary seat in April.
In Sunday's by-election for his seat in Lot-et-Garonne, southwest France, the socialist candidate was pushed into third place -- and thus eliminated.
The second-round run-off on June 23 will be fought between a candidate from the centre-right UMP party of former president Nicolas Sarkozy; and a member of the far-right National Front (FN).
The vote was marked by a turn-out significantly lower than in the 2012 general election: only 46 percent of the 75,000 voters eligible to have their say bothered to do so.
President Francois Hollande acknowledged that the result was fall-out from the scandal around Cahuzac, whose ministerial portfolio had included the fight against tax evasion.
For UMP president Jean-Francois Cope, the result was another "scathing repudiation of Francois Hollande and his policies".
Socialist party leader Harlem Desir called on voters to ensure the FN candidate did not win the second-round run-off vote.
Sunday's result was another slap in the face for the ruling Socialists after defeats last weekend in two other by-elections.
The party now has 292 deputies in the National Assembly: just three seats more than the 289 seats that ensures an absolute majority.
Through to the second round are the UMP's Jean-Louis Costes, who came first with 28.7 percent of the vote; and the FN candidate, 23-year-old Etienne Bousquet-Cassagne, who polled 26 percent.
Socialist candidate Bernard Barral came third with 23.7 percent.