Slovenia's parliament approved late Thursday a bill prolonging current labour market restrictions for Croatian workers by two years, even after Zagreb joins the European Union in July.
Under the bill, backed by all 76 MPs present at the session, Croatian citizens will continue to work in Slovenia under the same conditions now in force for non-EU citizens.
This so-called transition period could also be extended if necessary, the bill said.
"The government is aware that free movement of labour is one of the EU's basic freedoms but the situation in Slovenia's labour market is worrying," Labour Minister Anja Kopac Mrak told lawmakers before the vote.
High unemployment in the recession-hit country as well as in areas on the Croatian side of the border made this move necessary, she added.
"Allowing Croatian citizens immediate free access could cause trouble in the Slovenian labour market and impact the unemployment rate of Slovenian citizens."
Slovenia was the first former Yugoslav republic to join the EU in 2004.
The country of two million has been in recession since 2011 and is not expected to recover before 2015.
This and problems with its banks have sparked worries it could become the sixth eurozone member to need a bailout.
Over 4,000 Croatian nationals are estimated to be working in Slovenia, mainly in the construction sector.