diff --git a/package/dnsmasq/files/dnsmasq.init b/package/dnsmasq/files/dnsmasq.init
index 3e194afff83e1bdbd36232edb328fcf6e0840152..cd5a78ae835a9658b3098d526e71158d246e3891 100644
--- a/package/dnsmasq/files/dnsmasq.init
+++ b/package/dnsmasq/files/dnsmasq.init
@@ -100,10 +100,10 @@ dnsmasq() {
 	config_get DOMAIN "$cfg" domain
 
 	config_get_bool readethers "$cfg" readethers
-	[ "$readethers" = "1" ] && [ -e "/etc/ethers" ] || touch /etc/ethers
+	[ "$readethers" = "1" -a \! -e "/etc/ethers" ] && touch /etc/ethers
 
 	config_get leasefile $cfg leasefile
-	[ -n "$leasefile" ] && [ -e "$leasefile" ] || touch "$leasefile"
+	[ -n "$leasefile" -a \! -e "$leasefile" ] && touch "$leasefile"
 	config_get_bool cachelocal "$cfg" cachelocal 1
 
 	config_get hostsfile "$cfg" dhcphostsfile