diff --git a/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall b/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall
index 506de2893fe14b89c06b56d054395c206c725a8c..2419b108ad6a01585958f5e0a94bd7b1f0ec0e76 100755
--- a/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall
+++ b/package/gluon-respondd/luasrc/lib/gluon/upgrade/400-respondd-firewall
@@ -25,6 +25,7 @@ uci:section('firewall', 'rule', 'client_respondd', {
 	target = 'ACCEPT',
 })
 
+-- Allow respondd-access from within the mesh
 uci:section('firewall', 'rule',  'mesh_respondd_ll', {
 	name = 'mesh_respondd_ll',
 	src = 'mesh',
@@ -43,4 +44,19 @@ uci:section('firewall', 'rule',  'mesh_respondd_siteprefix', {
 	target = 'ACCEPT',
 })
 
+uci:delete_all('firewall', 'rule', function(rule)
+	return rule['.name']:find('^mesh_respondd_extraprefix')
+end)
+
+for idx, prefix in ipairs(site.extra_prefixes6({})) do
+	uci:section('firewall', 'rule',  'mesh_respondd_extraprefix' .. idx, {
+		name = 'mesh_respondd_extraprefix' .. idx,
+		src = 'mesh',
+		src_ip = prefix,
+		dest_port = '1001',
+		proto = 'udp',
+		target = 'ACCEPT',
+	})
+end
+
 uci:save('firewall')