diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml
index 427662d7f..84d3a07f6 100644
--- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml
+++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml
@@ -31,7 +31,6 @@
routemap.match2
select_multiple
-
true
Allows for matching based on prefix lists, multiple selections enabled.
diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml
index 41387c7c2..32c5017e9 100644
--- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml
+++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/OSPF6.xml
@@ -194,12 +194,14 @@
-
+
OPNsense.quagga.ospf6
prefixlists.prefixlist
- name
-
+ name,seqnumber
+ %s:%s
+
+ Y
Related item not found.
diff --git a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf
index 66896f7a7..feb5bf446 100644
--- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf
+++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/ospf6d.conf
@@ -80,12 +80,16 @@ ipv6 prefix-list {{ prefixlist.name }} seq {{ prefixlist.seqnumber }} {{ prefixl
{% for routemap in helpers.sortDictList(OPNsense.quagga.ospf6.routemaps.routemap, 'name', 'id' ) %}
{% if routemap.enabled == '1' %}
route-map {{ routemap.name }} {{ routemap.action }} {{ routemap.id }}
+{# XXX: Multiple prefix lists that have the same name can be selected (intentionally), but each is stored as unique item. #}
+{# The relationship is a bit loose, unique solves part of this issue. #}
{% if routemap.match2|default("") != "" %}
+{% set prefixlist_names = [] %}
{% for prefixlist in routemap.match2.split(",") %}
{% set prefixlist_data = helpers.getUUID(prefixlist) %}
-{% if 'match2' in routemap and routemap.match2 != '' %}
- match ipv6 address prefix-list {{ prefixlist_data.name }}
-{% endif %}
+{% do prefixlist_names.append(prefixlist_data.name) %}
+{% endfor %}
+{% for prefixlist_name in prefixlist_names | unique %}
+ match ip address prefix-list {{ prefixlist_name }}
{% endfor %}
{% endif %}
{% if routemap.set|default("") != "" %}