diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.init
index b1f9e2e29010c4a5e06f6dc2bc8ccaa3fd022deb..845cf1b5e338e059b8944677a4441ac24fd149a1 100644
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -785,7 +785,7 @@ dnsmasq_stop()
 
 service_triggers()
 {
-	procd_add_reload_trigger "dhcp"
+	procd_add_reload_trigger "dhcp" "system"
 	procd_add_raw_trigger "interface.*" 2000 /etc/init.d/dnsmasq reload
 }
 
@@ -825,6 +825,7 @@ start_service() {
 
 reload_service() {
 	rc_procd start_service "$@"
+	killall -HUP dnsmasq
 	return 0
 }