diff --git a/web/gui/src/main/webapp/app/view/topo/topo.css b/web/gui/src/main/webapp/app/view/topo/topo.css
index 12d3beb..5fe9c39 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.css
+++ b/web/gui/src/main/webapp/app/view/topo/topo.css
@@ -432,6 +432,13 @@
     opacity: .9;
 }
 
+.light #ov-topo svg .link.enhanced {
+    filter: url(#blue-glow);
+}
+.dark #ov-topo svg .link.enhanced {
+    filter: url(#yellow-glow);
+}
+
 #ov-topo svg .link.inactive {
     opacity: .5;
     stroke-dasharray: 8 4;
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 ced1656..a555ac1 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoD3.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoD3.js
@@ -332,15 +332,6 @@
     // ==========================
     // updateLinks - subfunctions
 
-    function linkExisting(d) {
-        // this is supposed to be an existing link, but we have observed
-        //  occasions (where links are deleted and added rapidly?) where
-        //  the DOM element has not been defined. So protection against that...
-        if (d.el) {
-            api.restyleLinkElement(d, true);
-        }
-    }
-
     function linkEntering(d) {
         var link = d3.select(this);
         d.el = link;
@@ -466,7 +457,6 @@
                 hostExit: hostExit,
                 deviceExit: deviceExit,
 
-                linkExisting: linkExisting,
                 linkEntering: linkEntering,
                 applyLinkLabels: applyLinkLabels,
 
diff --git a/web/gui/src/main/webapp/app/view/topo/topoForce.js b/web/gui/src/main/webapp/app/view/topo/topoForce.js
index 2509290..ea7cada 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoForce.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoForce.js
@@ -508,16 +508,23 @@
             .data(network.links, function (d) { return d.key; });
 
         // operate on existing links:
-        link.each(td3.linkExisting);
+        link.each(function (d) {
+            // this is supposed to be an existing link, but we have observed
+            //  occasions (where links are deleted and added rapidly?) where
+            //  the DOM element has not been defined. So protect against that...
+            if (d.el) {
+                restyleLinkElement(d, true);
+            }
+        });
 
         // operate on entering links:
         var entering = link.enter()
             .append('line')
             .attr({
-                x1: function (d) { return d.x1; },
-                y1: function (d) { return d.y1; },
-                x2: function (d) { return d.x2; },
-                y2: function (d) { return d.y2; },
+                x1: function (d) { return d.source.x; },
+                y1: function (d) { return d.source.y; },
+                x2: function (d) { return d.target.x; },
+                y2: function (d) { return d.target.y; },
                 stroke: linkConfig[th].inColor,
                 'stroke-width': linkConfig.inWidth
             });
diff --git a/web/gui/src/main/webapp/app/view/topo/topoLink.js b/web/gui/src/main/webapp/app/view/topo/topoLink.js
index 6dd4338..2b46f45 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoLink.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoLink.js
@@ -189,12 +189,12 @@
     }
 
     function unenhance(d) {
-        d.el.style('stroke', '#666');
+        d.el.classed('enhanced', false);
         $log.debug('UN-enhancing link: ', d.key);
     }
 
     function enhance(d) {
-        d.el.style('stroke', 'gold');
+        d.el.classed('enhanced', true);
         $log.debug('enhancing link: ', d.key);
     }
 
diff --git a/web/gui/src/main/webapp/app/view/topo/topoModel.js b/web/gui/src/main/webapp/app/view/topo/topoModel.js
index a2fc40b..f7f53a0 100644
--- a/web/gui/src/main/webapp/app/view/topo/topoModel.js
+++ b/web/gui/src/main/webapp/app/view/topo/topoModel.js
@@ -219,10 +219,6 @@
         return {
             source: srcNode,
             target: dstNode,
-            x1: srcNode.x,
-            y1: srcNode.y,
-            x2: dstNode.x,
-            y2: dstNode.y
         };
     }
 
