diff --git a/core/common/src/main/java/org/onosproject/utils/Comparators.java b/core/common/src/main/java/org/onosproject/utils/Comparators.java
index 20a4497..1610648 100644
--- a/core/common/src/main/java/org/onosproject/utils/Comparators.java
+++ b/core/common/src/main/java/org/onosproject/utils/Comparators.java
@@ -20,10 +20,7 @@
 import org.onosproject.core.Application;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.net.intf.Interface;
-import org.onosproject.incubator.net.virtual.TenantId;
-import org.onosproject.incubator.net.virtual.VirtualDevice;
-import org.onosproject.incubator.net.virtual.VirtualNetwork;
-import org.onosproject.incubator.net.virtual.VirtualPort;
+import org.onosproject.net.TenantId;
 import org.onosproject.net.ConnectPoint;
 import org.onosproject.net.Element;
 import org.onosproject.net.ElementId;
@@ -121,15 +118,4 @@
     public static final Comparator<TenantId> TENANT_ID_COMPARATOR =
             (t1, t2) -> t1.id().compareTo(t2.id());
 
-    public static final Comparator<VirtualNetwork> VIRTUAL_NETWORK_COMPARATOR =
-            (v1, v2) -> {
-                int compareId = v1.tenantId().toString().compareTo(v2.tenantId().toString());
-                return (compareId != 0) ? compareId : Long.signum(v1.id().id() - v2.id().id());
-            };
-
-    public static final Comparator<VirtualDevice> VIRTUAL_DEVICE_COMPARATOR =
-            (v1, v2) -> v1.id().toString().compareTo(v2.id().toString());
-
-    public static final Comparator<VirtualPort> VIRTUAL_PORT_COMPARATOR =
-            (v1, v2) -> v1.number().toString().compareTo(v2.number().toString());
 }
