diff --git a/dns/bind/src/opnsense/mvc/app/models/OPNsense/Bind/Domain.xml b/dns/bind/src/opnsense/mvc/app/models/OPNsense/Bind/Domain.xml
index 4f885f4bae..f91aa8a942 100644
--- a/dns/bind/src/opnsense/mvc/app/models/OPNsense/Bind/Domain.xml
+++ b/dns/bind/src/opnsense/mvc/app/models/OPNsense/Bind/Domain.xml
@@ -17,9 +17,9 @@
secondary
-
- ,
- Y
+
+ /^(([0-9a-fA-F.:\[\]]+(:+[0-9])?([,]){0,1}))*/u
+ Please provide a valid ip address and optional port, i.e. 192.168.0.33, 10.0.0.99:53530, 2001:0db8:0000:0000:0000:ff00:0042:8329 or [::1]:53530.
diff --git a/dns/bind/src/opnsense/service/templates/OPNsense/Bind/named.conf b/dns/bind/src/opnsense/service/templates/OPNsense/Bind/named.conf
index 6b833e19a9..4ed28fb59a 100644
--- a/dns/bind/src/opnsense/service/templates/OPNsense/Bind/named.conf
+++ b/dns/bind/src/opnsense/service/templates/OPNsense/Bind/named.conf
@@ -153,9 +153,10 @@ zone "{{ domain.domainname }}" {
type {{ domain.type }};
{% if domain.type == 'secondary' %}
{% if domain.transferkey is defined %}
- primaries { {{ domain.primaryip.replace(',', ' key "' ~ domain.transferkeyname ~ '"; ') }} key "{{ domain.transferkeyname }}"; };
+ primaries { {{ domain.primaryip | regex_replace('(?