diff --git a/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces b/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
index 9c155fb0f1cde5d4e1ff74ffea4fc077e81c6a32..22bf7bb88426069e8f42409391a2992860bf53e7 100755
--- a/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
+++ b/package/gluon-core/luasrc/lib/gluon/upgrade/020-interfaces
@@ -93,10 +93,8 @@ end
 -- Delete all UCI device sections of type 'bridge'
 -- as well as the ones starting with 'br-'.
 -- Preserve all others to apply MAC address stored in UCI
-uci:foreach('network', 'device',function(s)
-	if s.type == 'bridge' or s.name:match('^br-') then
-		uci:delete('network', s['.name'])
-	end
+uci:delete_all('network', 'device', function(dev)
+	return (dev.type == 'bridge' or dev.name:match('^br-'))
 end)
 
 uci:delete_all('network', 'interface')