diff --git a/framework/src/android/net/LinkProperties.java b/framework/src/android/net/LinkProperties.java
index 76ca061..b7ee846 100644
--- a/framework/src/android/net/LinkProperties.java
+++ b/framework/src/android/net/LinkProperties.java
@@ -769,16 +769,15 @@
             // system) will not see it in getRoutes on T+ if they do not have the compat change
             // enabled (target SDK < T); but this is expected to be rare and typically only affect
             // tests creating LinkProperties themselves (like CTS v12, which is only running on S).
-            return Collections.unmodifiableList(getNonThrowRoutes());
+            return Collections.unmodifiableList(getUnicastRoutes());
         }
     }
 
     /**
-     * Returns all the {@link RouteInfo} that are not of type {@link RouteInfo#RTN_THROW} set on
-     * this link.
+     * Returns all the {@link RouteInfo} of type {@link RouteInfo#RTN_UNICAST} set on this link.
      */
-    private @NonNull List<RouteInfo> getNonThrowRoutes() {
-        return CollectionUtils.filter(mRoutes, route -> route.getType() != RouteInfo.RTN_THROW);
+    private @NonNull List<RouteInfo> getUnicastRoutes() {
+        return CollectionUtils.filter(mRoutes, route -> route.getType() == RouteInfo.RTN_UNICAST);
     }
 
     /**
diff --git a/tests/common/java/android/net/LinkPropertiesTest.java b/tests/common/java/android/net/LinkPropertiesTest.java
index 319dbf4..9506fc9 100644
--- a/tests/common/java/android/net/LinkPropertiesTest.java
+++ b/tests/common/java/android/net/LinkPropertiesTest.java
@@ -1339,12 +1339,12 @@
         assertEquals(0, lp.getRoutes().size());
 
         lp.addRoute(new RouteInfo(new IpPrefix(ADDRV4, 0), RTN_UNREACHABLE));
-        assertEquals(1, lp.getRoutes().size());
+        assertEquals(0, lp.getRoutes().size());
 
         lp.addRoute(new RouteInfo(new IpPrefix(ADDRV6, 5), RTN_THROW));
-        assertEquals(1, lp.getRoutes().size());
+        assertEquals(0, lp.getRoutes().size());
 
         lp.addRoute(new RouteInfo(new IpPrefix(ADDRV6, 2), RTN_UNICAST));
-        assertEquals(2, lp.getRoutes().size());
+        assertEquals(1, lp.getRoutes().size());
     }
 }
