diff --git a/rstp/files/etc/init.d/rstp b/rstp/files/etc/init.d/rstp
index 1c20171e0db300de214da9bb2a47686bf5064c49..ed05267e05731f91c81d86327cd2c450f46e8a36 100755
--- a/rstp/files/etc/init.d/rstp
+++ b/rstp/files/etc/init.d/rstp
@@ -183,15 +183,14 @@ board_recover() {
 __brctl_stp_on_or_off() {
 	local config="$1"
 	local on_or_off="$2"
-	local type br_device br_ifname
+	local type br
 
 	config_get type "$config" type
 	[ -z "$type" -o ! "$type" = "bridge" ] && return
 
-	br_device="$config"
-	network_get_device br_ifname $br_device
+	network_get_physdev br $1
 
-	brctl stp $br_ifname $on_or_off
+	brctl stp $br $on_or_off
 	sleep 1
 }