diff --git a/target/linux/lantiq/base-files/sbin/dsl_notify.sh b/target/linux/lantiq/base-files/sbin/dsl_notify.sh
index ba197f1995dff0cb25d1528ffdfba3edf2cc8136..11ada923618abb0b6ea72b7efaf3aaf838aced6d 100755
--- a/target/linux/lantiq/base-files/sbin/dsl_notify.sh
+++ b/target/linux/lantiq/base-files/sbin/dsl_notify.sh
@@ -31,22 +31,24 @@ interfaces=`ubus list network.interface.\* | cut -d"." -f3`
 for ifc in $interfaces; do
 
 	json_load "$(ifstatus $ifc)"
-	json_get_var up up
-
-	config_get_bool auto "$ifc" auto 1
 
 	json_get_var proto proto
+	if [ "$proto" != "pppoa" ]; then
+		continue
+	fi
 
+	json_get_var up up
+	config_get_bool auto "$ifc" auto 1
 	if [ "$DSL_INTERFACE_STATUS" = "UP" ]; then
-		if [ "$proto" = "pppoa" ] && [ "$up" != 1 ] && [ "$auto" = 1 ]; then
+		if [ "$up" != 1 ] && [ "$auto" = 1 ]; then
 			( sleep 1; ifup "$ifc" ) &
 		fi
 	else
-		if [ "$proto" = "pppoa" ] && [ "$up" = 1 ] && [ "$auto" = 1 ]; then
+		if [ "$up" = 1 ] && [ "$auto" = 1 ]; then
 			( sleep 1; ifdown "$ifc" ) &
 		else
 			json_get_var autostart autostart
-			if [ "$proto" = "pppoa" ] && [ "$up" != 1 ] && [ "$autostart" = 1 ]; then
+			if [ "$up" != 1 ] && [ "$autostart" = 1 ]; then
 				( sleep 1; ifdown "$ifc" ) &
 			fi
 		fi