diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/UiSharedTopologyModel.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/UiSharedTopologyModel.java
index 0a4ce99..48ae42f 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/UiSharedTopologyModel.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/UiSharedTopologyModel.java
@@ -59,6 +59,7 @@
 import org.onosproject.net.statistic.StatisticService;
 import org.onosproject.net.topology.TopologyService;
 import org.onosproject.ui.impl.topo.UiTopoSession;
+import org.onosproject.ui.model.ServiceBundle;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -122,7 +123,7 @@
 
     @Activate
     protected void activate() {
-        cache = new ModelCache(eventDispatcher);
+        cache = new ModelCache(new DefaultServiceBundle(), eventDispatcher);
 
         eventDispatcher.addSink(UiModelEvent.class, listenerRegistry);
 
@@ -180,6 +181,52 @@
         removeListener(session);
     }
 
+    /**
+     * Default implementation of service bundle to return references to our
+     * dynamically injected services.
+     */
+    private class DefaultServiceBundle implements ServiceBundle {
+        @Override
+        public ClusterService cluster() {
+            return clusterService;
+        }
+
+        @Override
+        public MastershipService mastership() {
+            return mastershipService;
+        }
+
+        @Override
+        public RegionService region() {
+            return regionService;
+        }
+
+        @Override
+        public DeviceService device() {
+            return deviceService;
+        }
+
+        @Override
+        public LinkService link() {
+            return linkService;
+        }
+
+        @Override
+        public HostService host() {
+            return hostService;
+        }
+
+        @Override
+        public IntentService intent() {
+            return intentService;
+        }
+
+        @Override
+        public FlowRuleService flow() {
+            return flowService;
+        }
+    }
+
 
     private class InternalClusterListener implements ClusterEventListener {
         @Override
