diff --git a/apps/optical/src/main/java/org/onosproject/optical/OpticalLinkProvider.java b/apps/optical/src/main/java/org/onosproject/optical/OpticalLinkProvider.java
index 1e32592..c042abb 100644
--- a/apps/optical/src/main/java/org/onosproject/optical/OpticalLinkProvider.java
+++ b/apps/optical/src/main/java/org/onosproject/optical/OpticalLinkProvider.java
@@ -119,7 +119,7 @@
 
     private void processDeviceLinks(Device device) {
         for (Link link : linkService.getDeviceLinks(device.id())) {
-            if (link.isDurable() && link.type() == OPTICAL) {
+            if (link.isExpected() && link.type() == OPTICAL) {
                 processLink(link);
             }
         }
@@ -128,7 +128,7 @@
     private void processPortLinks(Device device, Port port) {
         ConnectPoint connectPoint = new ConnectPoint(device.id(), port.number());
         for (Link link : linkService.getLinks(connectPoint)) {
-            if (link.isDurable() && link.type() == OPTICAL) {
+            if (link.isExpected() && link.type() == OPTICAL) {
                 processLink(link);
             }
         }
diff --git a/core/api/src/main/java/org/onosproject/net/DefaultLink.java b/core/api/src/main/java/org/onosproject/net/DefaultLink.java
index 628d785..2a4c0c9 100644
--- a/core/api/src/main/java/org/onosproject/net/DefaultLink.java
+++ b/core/api/src/main/java/org/onosproject/net/DefaultLink.java
@@ -95,11 +95,6 @@
     }
 
     @Override
-    public boolean isDurable() {
-        return isExpected();
-    }
-
-    @Override
     public boolean isExpected() {
         return isExpected;
     }
diff --git a/core/api/src/main/java/org/onosproject/net/DefaultPath.java b/core/api/src/main/java/org/onosproject/net/DefaultPath.java
index 79677ac..d035b63 100644
--- a/core/api/src/main/java/org/onosproject/net/DefaultPath.java
+++ b/core/api/src/main/java/org/onosproject/net/DefaultPath.java
@@ -110,7 +110,7 @@
                 .add("dst", dst())
                 .add("type", type())
                 .add("state", state())
-                .add("durable", isDurable())
+                .add("expected", isExpected())
                 .add("links", links)
                 .add("cost", cost)
                 .toString();
diff --git a/core/api/src/main/java/org/onosproject/net/Link.java b/core/api/src/main/java/org/onosproject/net/Link.java
index 1ed923a..521a53f 100644
--- a/core/api/src/main/java/org/onosproject/net/Link.java
+++ b/core/api/src/main/java/org/onosproject/net/Link.java
@@ -107,13 +107,6 @@
     State state();
 
     /**
-     * Indicates if the link is to be considered durable.
-     *
-     * @return true if the link is durable
-     */
-    boolean isDurable();
-
-    /**
      * Indicates if the link was created from a predefined configuration.
      *
      * @return true if the link was created from a predefined configuration,
diff --git a/core/api/src/test/java/org/onosproject/ui/topo/BiLinkTestBase.java b/core/api/src/test/java/org/onosproject/ui/topo/BiLinkTestBase.java
index f713b81..902b75c 100644
--- a/core/api/src/test/java/org/onosproject/ui/topo/BiLinkTestBase.java
+++ b/core/api/src/test/java/org/onosproject/ui/topo/BiLinkTestBase.java
@@ -62,11 +62,6 @@
         }
 
         @Override
-        public boolean isDurable() {
-            return false;
-        }
-
-        @Override
         public boolean isExpected() {
             return false;
         }
diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStore.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStore.java
index f72e8f0..431e6f1 100644
--- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStore.java
+++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStore.java
@@ -193,7 +193,7 @@
             return null;
         }
 
-        if (link.isDurable()) {
+        if (link.isExpected()) {
             return link.state() == INACTIVE ? null :
                     updateLink(linkKey(link.src(), link.dst()), link,
                                DefaultLink.builder()
diff --git a/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStoreTest.java b/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStoreTest.java
index 0c11d28..ea9fd1a 100644
--- a/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStoreTest.java
+++ b/core/common/src/test/java/org/onosproject/store/trivial/SimpleLinkStoreTest.java
@@ -470,9 +470,9 @@
         LinkKey linkId1 = LinkKey.linkKey(d1P1, d2P2);
 
         putLink(linkId1, DIRECT, DA1);
-        assertTrue("should be be durable", linkStore.getLink(d1P1, d2P2).isDurable());
+        assertTrue("should be be durable", linkStore.getLink(d1P1, d2P2).isExpected());
         putLink(linkId1, DIRECT, NDA1);
-        assertFalse("should not be durable", linkStore.getLink(d1P1, d2P2).isDurable());
+        assertFalse("should not be durable", linkStore.getLink(d1P1, d2P2).isExpected());
     }
 
     @Test
@@ -482,9 +482,9 @@
         LinkKey linkId1 = LinkKey.linkKey(d1P1, d2P2);
 
         putLink(linkId1, DIRECT, A1);
-        assertFalse("should not be durable", linkStore.getLink(d1P1, d2P2).isDurable());
+        assertFalse("should not be durable", linkStore.getLink(d1P1, d2P2).isExpected());
         putLink(linkId1, DIRECT, DA1);
-        assertTrue("should be durable", linkStore.getLink(d1P1, d2P2).isDurable());
+        assertTrue("should be durable", linkStore.getLink(d1P1, d2P2).isExpected());
     }
 
     // If Delegates should be called only on remote events,
diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/ObjectiveTracker.java b/core/net/src/main/java/org/onosproject/net/intent/impl/ObjectiveTracker.java
index 4a03009..0a2fcbb 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/ObjectiveTracker.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/ObjectiveTracker.java
@@ -291,7 +291,7 @@
                         dontRecompileAllFailedIntents = dontRecompileAllFailedIntents &&
                                 (linkEvent.type() == LINK_REMOVED ||
                                 (linkEvent.type() == LINK_UPDATED &&
-                                linkEvent.subject().isDurable()));
+                                linkEvent.subject().isExpected()));
                     }
                 }
                 delegate.triggerCompile(intentsToRecompile, !dontRecompileAllFailedIntents);
diff --git a/core/store/serializers/src/main/java/org/onosproject/store/serializers/DefaultLinkSerializer.java b/core/store/serializers/src/main/java/org/onosproject/store/serializers/DefaultLinkSerializer.java
index 1464018..c120823 100644
--- a/core/store/serializers/src/main/java/org/onosproject/store/serializers/DefaultLinkSerializer.java
+++ b/core/store/serializers/src/main/java/org/onosproject/store/serializers/DefaultLinkSerializer.java
@@ -45,7 +45,7 @@
         kryo.writeClassAndObject(output, object.dst());
         kryo.writeClassAndObject(output, object.type());
         kryo.writeClassAndObject(output, object.state());
-        output.writeBoolean(object.isDurable());
+        output.writeBoolean(object.isExpected());
     }
 
     @Override
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/LinkViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/LinkViewMessageHandler.java
index 03bc656..b7f0dc3 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/LinkViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/LinkViewMessageHandler.java
@@ -49,10 +49,10 @@
     private static final String TYPE = "type";
     private static final String STATE = "_iconid_state";
     private static final String DIRECTION = "direction";
-    private static final String DURABLE = "durable";
+    private static final String EXPECTED = "expected";
 
     private static final String[] COL_IDS = {
-            ONE, TWO, TYPE, STATE, DIRECTION, DURABLE
+            ONE, TWO, TYPE, STATE, DIRECTION, EXPECTED
     };
 
     private static final String ICON_ID_ONLINE = "active";
@@ -109,7 +109,7 @@
                 .cell(TYPE, linkType(blink))
                 .cell(STATE, linkState(blink))
                 .cell(DIRECTION, linkDir(blink))
-                .cell(DURABLE, blink.one().isDurable());
+                .cell(EXPECTED, blink.one().isExpected());
         }
 
         private String linkType(BaseLink link) {
