diff --git a/package/gluon-web-model/files/lib/gluon/web/view/model/warning.html b/package/gluon-web-model/files/lib/gluon/web/view/model/warning.html
index af063ec50d3d79628ad8ca4696c5a6fe20c3e7ae..8394bb130e767b3a6d4491c0f8b944ae85d2692e 100644
--- a/package/gluon-web-model/files/lib/gluon/web/view/model/warning.html
+++ b/package/gluon-web-model/files/lib/gluon/web/view/model/warning.html
@@ -1,14 +1,14 @@
-<%- if self.title or self.content then -%>
+<%- if not self.hide then -%>
 <div class="gluon-warning"<%=
 	attr("id", id) ..
 	attr("data-index", self.index) ..
 	attr("data-depends", self:deplist(self.deps))
 %>>
 	<%- if self.content then -%>
-	<%=self.content%>
+	<%= self.content %>
 	<%- else -%>
-	<b><%=self.title%></b><br>
-	<%=self.description%>
+	<b><%= self.title %></b><br>
+	<%= self.description %>
 	<%- end -%>
 </div>
 <%- end -%>
diff --git a/package/gluon-web-private-wifi/luasrc/lib/gluon/config-mode/model/admin/privatewifi.lua b/package/gluon-web-private-wifi/luasrc/lib/gluon/config-mode/model/admin/privatewifi.lua
index 9d29b2b6bea05e92bdad428224a54d5764814f49..c69d22c39ae22d9ac272b7285ba8bf9f9a531a27 100644
--- a/package/gluon-web-private-wifi/luasrc/lib/gluon/config-mode/model/admin/privatewifi.lua
+++ b/package/gluon-web-private-wifi/luasrc/lib/gluon/config-mode/model/admin/privatewifi.lua
@@ -27,10 +27,11 @@ local enabled = s:option(Flag, "enabled", translate("Enabled"))
 enabled.default = uci:get('wireless', primary_iface) and not uci:get_bool('wireless', primary_iface, "disabled")
 
 local warning = s:element('model/warning', {
-	content = mesh_on_wan and translate(
+	content = translate(
 		'Meshing on WAN interface is enabled. ' ..
 		'This can lead to problems.'
-	) or nil,
+	),
+	hide = not mesh_on_wan,
 }, 'warning')
 warning:depends(enabled, true)