diff --git a/apps/t3/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java b/apps/t3/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
index 135a74d..18ba520 100644
--- a/apps/t3/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
+++ b/apps/t3/src/main/java/org/onosproject/t3/impl/TroubleshootManager.java
@@ -150,7 +150,6 @@
                 .matchVlanId(source.vlan());
 
 
-
         try {
             //if the location deviceId is the same, the two hosts are under same subnet and vlan on the interface
             // we are under same leaf so it's L2 Unicast.
@@ -218,10 +217,18 @@
         }).collect(Collectors.toList());
 
         if (ips.size() > 0) {
-            if (src) {
-                selectorBuilder.matchIPSrc(ips.get(0).toIpPrefix());
-            } else {
-                selectorBuilder.matchIPDst(ips.get(0).toIpPrefix());
+            if (etherType.equals(EtherType.IPV4)) {
+                if (src) {
+                    selectorBuilder.matchIPSrc(ips.get(0).toIpPrefix());
+                } else {
+                    selectorBuilder.matchIPDst(ips.get(0).toIpPrefix());
+                }
+            } else if (etherType.equals(EtherType.IPV6)) {
+                if (src) {
+                    selectorBuilder.matchIPv6Src(ips.get(0).toIpPrefix());
+                } else {
+                    selectorBuilder.matchIPv6Dst(ips.get(0).toIpPrefix());
+                }
             }
         } else {
             failTrace.addResultMessage("Host " + host + " has no " + etherType + " address");
