diff --git a/api/pom.xml b/api/pom.xml
index a4a8036..4090589 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.opencord</groupId>
         <artifactId>bng</artifactId>
-        <version>1.1.3-SNAPSHOT</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/app/pom.xml b/app/pom.xml
index 06494ae..4dceeab 100644
--- a/app/pom.xml
+++ b/app/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.opencord</groupId>
         <artifactId>bng</artifactId>
-        <version>1.1.3-SNAPSHOT</version>
+        <version>2.0.0-SNAPSHOT</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/app/src/main/java/org/opencord/bng/impl/PppoeHandlerRelay.java b/app/src/main/java/org/opencord/bng/impl/PppoeHandlerRelay.java
index 7b60f9e..32cab29 100644
--- a/app/src/main/java/org/opencord/bng/impl/PppoeHandlerRelay.java
+++ b/app/src/main/java/org/opencord/bng/impl/PppoeHandlerRelay.java
@@ -559,11 +559,11 @@
                             (portName.contains("-") && !portName.endsWith("-1"))) {
                         return false;
                     }
-                    var info = sadisService.getSubscriberInfoService()
+                    var subInfo = sadisService.getSubscriberInfoService()
                             .get(portName);
-                    return info != null &&
-                            Objects.equals(cTag, info.cTag()) &&
-                            Objects.equals(sTag, info.sTag());
+                    return subInfo != null && subInfo.uniTagList().stream()
+                            .anyMatch(info -> Objects.equals(cTag, info.getPonCTag()) &&
+                                    Objects.equals(sTag, info.getPonSTag()));
                 })
                 .map(port -> new ConnectPoint(port.element().id(), port.number()))
                 .collect(Collectors.toSet());
diff --git a/pom.xml b/pom.xml
index ad383b3..b231bab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,15 +27,15 @@
 
     <groupId>org.opencord</groupId>
     <artifactId>bng</artifactId>
-    <version>1.1.3-SNAPSHOT</version>
+    <version>2.0.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <description>BNG Control app</description>
     <url>http://opencord.org</url>
 
     <properties>
-        <sadis.api.version>4.0.1</sadis.api.version>
-        <olt.api.version>4.0.0</olt.api.version>
+        <sadis.api.version>5.0.0</sadis.api.version>
+        <olt.api.version>4.0.1</olt.api.version>
     </properties>
 
     <modules>
