diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/config/impl/VplsConfigImpl.java b/apps/vpls/src/main/java/org/onosproject/vpls/config/impl/VplsConfigImpl.java
index 658a27d..ad1c707 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/config/impl/VplsConfigImpl.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/config/impl/VplsConfigImpl.java
@@ -207,16 +207,19 @@
 
     @Override
     public Set<Interface> allIfaces() {
-        Set<Interface> allVplsInterfaces = new HashSet<>();
-        interfaceService.getInterfaces().forEach(allVplsInterfaces::add);
-        return allVplsInterfaces;
+        Set<Interface> interfaces = new HashSet<>();
+        interfaceService.getInterfaces().stream()
+                .filter(iface -> iface.ipAddressesList() == null ||
+                        iface.ipAddressesList().isEmpty())
+                .forEach(interfaces::add);
+        return interfaces;
     }
 
     @Override
     public Set<Interface> ifaces() {
-        Set<Interface> allVplsInterfaces = new HashSet<>();
-        vplsIfaces.values().forEach(allVplsInterfaces::add);
-        return allVplsInterfaces;
+        Set<Interface> interfaces = new HashSet<>();
+        vplsIfaces.values().forEach(interfaces::add);
+        return interfaces;
     }
 
     @Override
