Swiss voters have narrowly backed a referendum to bring back strict immigration quotas, abandoning an agreement with the European Union on the free movement of people.
A vote of more than 50% in favour was needed for the referendum to pass and final results showed 50.3% were for the quotas.
Switzerland is not a member of the EU, but has adopted large sections of its policy, the BBC reports. Brussels said it regretted the outcome of the vote and would examine its implications.
Since 2007, most of the EU's 500 million residents have been on an equal footing with locals in the Swiss job market as a result of a policy voted into law in a 2000 referendum.
But a coalition led by the right-wing Swiss People's Party now wants to reverse this deal, saying it was a huge mistake.
Supporters of quotas believe free movement has put pressure on housing, health, education, and transport. They also argue that foreign workers drive salaries down.
Switzerland's economy is booming at the moment, and unemployment is low, but many Swiss worry about immigration.
A quarter of the eight million-strong population is foreign, and last year 80,000 new immigrants arrived.