A fixed cap on immigration to the UK could be a political own goal, an independent think tank has warned.
The centre-left Institute for Public Policy Research (IPPR) said a cap would be an "unworkable policy".
Tory leader David Cameron has pledged to set a cap on net immigration but said the level should be decided each year according to the needs of the economy.
Net immigration should be in the "tens of thousands rather than hundreds of thousands", he said. In 2008, net immigration to the UK was around 160,000.
But the IPPR said the Tory pledge would be "very difficult to achieve" if improvements in the economy led to increases in work-related migration to pre-recession levels.
A cap of 40,000, as proposed by the Cross-Party Group on Balanced Migration, would mean "drastic changes" and would threaten both economic performance and the rights of British nationals and settled migrants to be with their families, the report said.
Mr Cameron told BBC One's The Politics Show: "I think we need to set the cap each year according to the needs of the economy.
"That's not something you can do in advance. The reason for capping immigration in my view is there have been pressures in the last decade on services like health and education and housing so the cap should be set after a conversation with the local authorities and the health service and the rest of it to try and make sure that immigration is more manageable than what it's been up to now."
He added: "There should be an overall limit on immigration from outside the EU and we need to have a better understanding of the student visa situation.
But Sarah Mulley, the author of IPPR report The Limits to Limits, said: "To avoid 'busting' the cap in any one year, ministers could find themselves having to stop Premiership football clubs buying top foreign players, or major British companies bringing in the overseas experts they need to preserve their global competitiveness."