diff --git a/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java b/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
index 9685150..580872d 100644
--- a/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
+++ b/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
@@ -66,6 +66,9 @@
      * @param regionId region identifier
      * @return corresponding layout
      */
+    // FIXME: We will need to add support for multiple layouts (logical & physical)
+    // for the same region and this method won't have sufficient inputs to resolve
+    // the desired layout.
     UiTopoLayout getLayout(RegionId regionId);
 
     /**
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
index aa920e2..967c34a 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
@@ -352,7 +352,7 @@
         // set ALL connect points
         addAllCps(host.locations(), payload);
 
-        payload.set("labels", labels(nameForHost(host), ip, host.mac().toString()));
+        payload.set("labels", labels(nameForHost(host), ip, host.mac().toString(), ""));
         payload.set("props", props(host.annotations()));
         addGeoLocation(host, payload);
         addMetaUi(host.id().toString(), payload);
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo.properties
index b5c5398..8e45d49 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo.properties
@@ -61,6 +61,7 @@
 fl_host_labels_show_friendly=Show friendly host labels
 fl_host_labels_show_ip=Show host IP addresses
 fl_host_labels_show_mac=Show host MAC addresses
+fl_host_labels_hide=Hide host labels
 
 fl_offline_devices=Offline Devices
 fl_bad_links=Bad Links
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_es.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_es.properties
index 3630c22..ec29b19 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_es.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_es.properties
@@ -61,6 +61,8 @@
 fl_host_labels_show_friendly=Muestra etiquetas con el nombre del host 
 fl_host_labels_show_ip=Muestra dirección IP del host
 fl_host_labels_show_mac=Muestra la dirección MAC del host
+fl_host_labels_hide=Hide host labels # TODO
+
 fl_offline_devices=Dispositivos fuera de línea
 fl_bad_links=Enlaces con problemas
 fl_reset_node_locations=Reinicia la localización de nodos
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_it.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_it.properties
index 8494447..d5f8eb0 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_it.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_it.properties
@@ -61,6 +61,7 @@
 fl_host_labels_show_friendly=Mostra etichette semplici degli host
 fl_host_labels_show_ip=Mostra l'indirizzo IP degli Host
 fl_host_labels_show_mac=Mostra l'indirizzo MAC degli Host
+fl_host_labels_hide=Hide host labels # TODO
 
 fl_offline_devices=Device disconnessi
 fl_bad_links=Link corrotti
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_ko.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_ko.properties
index 08d7dc6..4f3af89 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_ko.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_ko.properties
@@ -61,6 +61,7 @@
 fl_host_labels_show_friendly=익숙한 호스트 라벨 표시
 fl_host_labels_show_ip=호스트 IP 주소 표시
 fl_host_labels_show_mac=호스트 MAC 주소 표시
+fl_host_labels_hide=Hide host labels # TODO
 
 fl_offline_devices=오프라인 장치
 fl_bad_links=잘못된 링크
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_zh_CN.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_zh_CN.properties
index e02c978..25c1acd 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_zh_CN.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_zh_CN.properties
@@ -61,6 +61,7 @@
 fl_host_labels_show_friendly=显示友好的主机标签
 fl_host_labels_show_ip=显示主机IP地址
 fl_host_labels_show_mac=显示主机MAC地址
+fl_host_labels_hide=Hide host labels # TODO
 
 fl_offline_devices=离线设备
 fl_bad_links=失效链路
diff --git a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_zh_TW.properties b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_zh_TW.properties
index 9eabe7c..6b0f2f6 100644
--- a/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_zh_TW.properties
+++ b/web/gui/src/main/resources/org/onosproject/ui/lion/core/view/Topo_zh_TW.properties
@@ -61,6 +61,7 @@
 fl_host_labels_show_friendly=顯示易讀主機的標籤
 fl_host_labels_show_ip=顯示主機的 IP 位址
 fl_host_labels_show_mac=顯示主機的 MAC 位址
+fl_host_labels_hide=Hide host labels # TODO
 
 fl_offline_devices=離線設備
 fl_bad_links=不良的連結
diff --git a/web/gui/src/main/webapp/app/view/topo/topoD3.js b/web/gui/src/main/webapp/app/view/topo/topoD3.js
index 9aafc98..15499a5 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoD3.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoD3.js
@@ -150,11 +150,12 @@
             case 0: return topoLion('fl_host_labels_show_friendly');
             case 1: return topoLion('fl_host_labels_show_ip');
             case 2: return topoLion('fl_host_labels_show_mac');
+            case 3: return topoLion('fl_host_labels_hide');
         }
     }
 
     function setHostLabIndex(mode) {
-        hostLabelIndex = mode % 3;
+        hostLabelIndex = mode % 4;
         var p = ps.getPrefs('topo_prefs', ttbs.defaultPrefs);
         p.hlbls = hostLabelIndex;
         ps.setPrefs('topo_prefs', p);
