In the UK, and in many other countries, it is illegal to discriminate on certain personal characteristics in many circumstances, including employment and accommodation. These characteristics include nationality, ethnic or national origin. It is also illegal to NOT discriminate on other characteristics when making employment and accommodation decisions. These characteristics are described as "allowed to stay in England" and overlap very strongly with nationality, ethnic or national origin.
This would appear to present a contradiction, at least if one views the law and morality as interdependent. How can it be wrong to discriminate on one set of personal characteristics but also wrong to NOT discriminate on another set of personal characteristics that are almost exactly the same as the former? Has anyone attempted to justify this apparent contradiction from a moral philosophy standpoint?