diff --git a/providers/of/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java b/providers/of/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
index 2e8fa55..b0b86f0 100644
--- a/providers/of/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
+++ b/providers/of/link/src/main/java/org/onlab/onos/provider/of/link/impl/LinkDiscovery.java
@@ -86,6 +86,7 @@
     private final OpenFlowController ctrl;
     private final LinkProviderService linkProvider;
     private final Map<Integer, OFPortDesc> ports;
+    private Timeout timeout;
 
     /**
      * Instantiates discovery manager for the given physical switch. Creates a
@@ -127,7 +128,7 @@
                 addPort(port);
             }
         }
-        Timer.getTimer().newTimeout(this, this.probeRate,
+        timeout = Timer.getTimer().newTimeout(this, this.probeRate,
                 TimeUnit.MILLISECONDS);
         this.log.debug("Started discovery manager for switch {}",
                 sw.getId());
@@ -186,6 +187,10 @@
                         portnum);
             }
         }
+        ConnectPoint cp = new ConnectPoint(
+                DeviceId.deviceId("of:" + Long.toHexString(sw.getId())),
+                PortNumber.portNumber(port.getPortNo().getPortNumber()));
+        linkProvider.linksVanished(cp);
 
     }
 
@@ -380,14 +385,19 @@
         }
 
         // reschedule timer
-        Timer.getTimer().newTimeout(this, this.probeRate,
+        timeout = Timer.getTimer().newTimeout(this, this.probeRate,
                 TimeUnit.MILLISECONDS);
     }
 
     public void removeAllPorts() {
-        for (OFPortDesc port : sw.getPorts()) {
+        for (OFPortDesc port : ports.values()) {
             removePort(port);
         }
     }
 
+    public void stop() {
+        removeAllPorts();
+        timeout.cancel();
+    }
+
 }
