The lookup client currently creates a hash of name part types associated with the (default) selected language, and then breaks if a name part is found in an entity that isn't in the name part types associated with that language. Which is a big problem if not all languages have the same set of name part types.