diff --git a/package/base-files/files/lib/functions/uci-defaults-new.sh b/package/base-files/files/lib/functions/uci-defaults-new.sh
index f025cb696efe63e3a9945fade60b4e74a985ca48..14c7f9294da670205e285bd55f9f246d13e90b2b 100755
--- a/package/base-files/files/lib/functions/uci-defaults-new.sh
+++ b/package/base-files/files/lib/functions/uci-defaults-new.sh
@@ -166,11 +166,11 @@ _ucidef_finish_switch_roles() {
 		json_select_object network
 			json_select_object "$role"
 				# attach previous interfaces (for multi-switch devices)
-				local prev_device; json_get_var prev_device ifname
-				if ! list_contains prev_device "$device"; then
-					device="${prev_device:+$prev_device }$device"
+				local devices; json_get_var devices ifname
+				if ! list_contains devices "$device"; then
+					devices="${devices:+$devices }$device"
 				fi
-				json_add_string ifname "$device"
+				json_add_string ifname "$devices"
 			json_select ..
 		json_select ..
 	done