diff --git a/libs/cbi/luasrc/view/cbi/firewall_zonelist.htm b/libs/cbi/luasrc/view/cbi/firewall_zonelist.htm
index 847010b7cb..26c46cb549 100644
--- a/libs/cbi/luasrc/view/cbi/firewall_zonelist.htm
+++ b/libs/cbi/luasrc/view/cbi/firewall_zonelist.htm
@@ -15,48 +15,51 @@ $Id$
<%-
local utl = require "luci.util"
- local wba = require "luci.tools.webadmin"
- local wbi = require "luci.tools.webadmin_interfaces"
local fwm = require "luci.model.firewall"
+ local nwm = require "luci.model.network"
- wbi.init(self.map.uci)
-
- local zone, iface, ifname
+ local zone, net, iface
local zones = fwm:get_zones()
local value = self:cfgvalue(section) or self.default
+ local selected = false
if value and #value == 0 then value = nil end
-%>
- <% for _, zone in utl.spairs(zones, function(a,b) return (zones[a]:name() < zones[b]:name()) end) do %>
+ <%
+ for _, zone in utl.spairs(zones, function(a,b) return (zones[a]:name() < zones[b]:name()) end) do
+ selected = selected or (value == zone:name())
+ %>