diff --git a/package/dnsmasq/files/dnsmasq.init b/package/dnsmasq/files/dnsmasq.init
index 776daddb41d20cfdca1efef9362aafe644a0a2cc..44255045097254fb32a6a10c5fc21586dfd303f5 100644
--- a/package/dnsmasq/files/dnsmasq.init
+++ b/package/dnsmasq/files/dnsmasq.init
@@ -188,7 +188,8 @@ dhcp_add() {
 	[ static = "$proto" ] || return 0
 
 	config_get ipaddr "$net" ipaddr
-	config_get netmask "$net" netmask
+	config_get netmask "$cfg" netmask
+	[ -n "$netmask" ] || config_get netmask "$net" netmask
 
 	#check for an already active dhcp server on the interface, unless 'force' is set
 	config_get_bool force "$cfg" force 0