diff --git a/utils/misc/src/main/java/org/onlab/packet/MacAddress.java b/utils/misc/src/main/java/org/onlab/packet/MacAddress.java
index 7abf12a..945254d 100644
--- a/utils/misc/src/main/java/org/onlab/packet/MacAddress.java
+++ b/utils/misc/src/main/java/org/onlab/packet/MacAddress.java
@@ -206,18 +206,6 @@
     }
 
     /**
-     * Returns true if this MAC address is link local.
-     *
-     * @return true if link local
-     * @deprecated in Kingfisher release. Link local is not a correct description for
-     *             this MAC address. Replaced with {@link #isLldp()}
-     */
-    @Deprecated
-    public boolean isLinkLocal() {
-        return isLldp();
-    }
-
-    /**
      * Returns true if this MAC address is used by link layer discovery protocol.
      *
      * @return true if this MAC is LLDP MAC.
diff --git a/utils/misc/src/test/java/org/onlab/packet/MacAddressTest.java b/utils/misc/src/test/java/org/onlab/packet/MacAddressTest.java
index d635382..99b467d 100644
--- a/utils/misc/src/test/java/org/onlab/packet/MacAddressTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/MacAddressTest.java
@@ -132,20 +132,6 @@
     }
 
     @Test
-    @Deprecated
-    public void testIsLinkLocal() throws Exception {
-        assertFalse(MAC_NORMAL.isLinkLocal());
-        assertFalse(MAC_BCAST.isLinkLocal());
-        assertFalse(MAC_MCAST.isLinkLocal());
-        assertFalse(MAC_MCAST_2.isLinkLocal());
-        assertTrue(MAC_LLDP.isLinkLocal());
-        assertTrue(MAC_LLDP_2.isLinkLocal());
-        assertTrue(MAC_LLDP_3.isLinkLocal());
-        assertFalse(MAC_ONOS.isLinkLocal());
-    }
-
-
-    @Test
     public void testIsLldp() throws Exception {
         assertFalse(MAC_NORMAL.isLldp());
         assertFalse(MAC_BCAST.isLldp());
