diff --git a/src/plugins/import/ImportXml.py b/src/plugins/import/ImportXml.py index 6e4b81975..8c9565532 100644 --- a/src/plugins/import/ImportXml.py +++ b/src/plugins/import/ImportXml.py @@ -1554,7 +1554,7 @@ class GrampsParser(UpdateCallback): def start_surname(self, attrs): self.surname = gen.lib.Surname() self.surname.set_prefix(attrs.get("prefix", "")) - self.surname.set_primary(bool(attrs.get("prim", 1))) + self.surname.set_primary(attrs.get("prim", "1") == "1") self.surname.set_connector(attrs.get("connector", "")) origin_type = attrs.get("derivation", "") self.surname.origintype.set_from_xml_str(origin_type) @@ -2621,8 +2621,11 @@ class GrampsParser(UpdateCallback): self.surname = None def stop_surname(self, tag): + """Add surname to name, validating only one primary.""" if self.name: self.surname.set_surname(tag) + if any(sname.get_primary() for sname in self.name.get_surname_list()): + self.surname.set_primary(False) self.name.add_surname(self.surname) self.surname = None