diff --git a/package/gluon-web-network/luasrc/lib/gluon/config-mode/model/admin/network.lua b/package/gluon-web-network/luasrc/lib/gluon/config-mode/model/admin/network.lua
index cf72341e39921392db4113ee6761c187ce94e985..026717863cc375f062efdf823569f52053b703f6 100644
--- a/package/gluon-web-network/luasrc/lib/gluon/config-mode/model/admin/network.lua
+++ b/package/gluon-web-network/luasrc/lib/gluon/config-mode/model/admin/network.lua
@@ -89,6 +89,8 @@ uci:foreach('gluon', 'interface', function(config)
 	ifaces:value('uplink', 'Uplink')
 	ifaces:value('mesh', 'Mesh')
 	ifaces:value('client', 'Client')
+	ifaces:exclusive('uplink', 'client')
+	ifaces:exclusive('mesh', 'client')
 
 	ifaces.default = config.role