A major food bank in western Germany has said it will again allow foreigners to register for free food, reversing a decision that sparked a row.

The charity Essener Tafel said the restriction had always been a temporary one, needed because of the high proportion of foreigners being served.

It said it would now focus on single parents, families with children and the elderly, regardless of nationality.

Essener Tafel says it helps some 16,000 people in the city of Essen.

In January, it said that only German passport holders would be allowed to apply for new membership cards.

The restriction, the charity said, was necessary because 75% of those receiving food were foreigners, and that many elderly women and single mothers had stopped coming to the food bank.

Chancellor Angela Merkel criticised the decision, saying that services should not be run "on the basis of such categorisations".

Vandals sprayed "Nazis" on the charity's delivery vans.

Essener Tafel head Jörg Sartor said the restriction had nothing to do with xenophobia but were needed given the organisation's limited funds.

With the new decision, foreigners will again be allowed to register for the services.

An estimated 1.2 million asylum seekers entered Germany during the migrant crisis of 2015-2016, more than half from war-torn Syria, Iraq and Afghanistan. The record influx boosted support for the anti-immigration Alternative for Germany (AfD) party.

Essener Tafel is part of a national food bank group called Tafel. Essen is part of Germany's old coal-and-steel hub in the state of North Rhine-Westphalia (NRW).

The far-right AfD had defended the charity's policy, saying "if you fight back, you're a Nazi".

Like hundreds of other German food banks, Essener Tafel collects tonnes of surplus food at or past its sell-by date, which would otherwise be thrown away.

NRW has the highest number of asylum claims among the German states, data from Germany's national migration agency BAMF shows: it handled 22.4% of claims in February, followed by Bavaria (14.4%).

Asylum claims in Germany soared to a record 745,545 in 2016, but fell back to 222,683 in 2017.