diff --git a/package/network/services/igmpproxy/files/igmpproxy.init b/package/network/services/igmpproxy/files/igmpproxy.init
index dd2e430b516c006ec8367c444c606d534da36ab5..3ff8f19dadca90bcdaed34bbbd7889b728c6f991 100644
--- a/package/network/services/igmpproxy/files/igmpproxy.init
+++ b/package/network/services/igmpproxy/files/igmpproxy.init
@@ -39,7 +39,10 @@ igmp_add_phyint() {
 	config_get direction $1 direction
 	config_get altnets $1 altnet
 
-	json_load "$(ifstatus $network)"
+	local status="$(ubus -S call "network.interface.$network" status)"
+	[ -n "$status" ] || return
+
+	json_load "$status"
 	json_get_var device l3_device
 	json_get_var up up