diff --git a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
index 2c6b208..ca9ba42 100644
--- a/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
+++ b/apps/segmentrouting/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
@@ -1173,7 +1173,7 @@
         fob.withKey(Criteria.matchInPort(portNum))
                 .addCondition(Criteria.matchEthDst(deviceMac))
                 .addCondition(Criteria.matchVlanId(outerVlan))
-                .addCondition(Criteria.matchVlanId(innerVlan))
+                .addCondition(Criteria.matchInnerVlanId(innerVlan))
                 .withPriority(SegmentRoutingService.DEFAULT_PRIORITY);
 
         TrafficTreatment.Builder tBuilder = DefaultTrafficTreatment.builder();
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa3Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa3Pipeline.java
index 2ab8a18..4632a4f 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa3Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa3Pipeline.java
@@ -314,12 +314,10 @@
                     ethCriterion = (EthCriterion) criterion;
                     break;
                 case VLAN_VID:
-                    if (innervidCriterion == null) {
-                        innervidCriterion = (VlanIdCriterion) criterion;
-                    } else {
-                        outerVidCriterion = innervidCriterion;
-                        innervidCriterion = (VlanIdCriterion) criterion;
-                    }
+                    outerVidCriterion = (VlanIdCriterion) criterion;
+                    break;
+                case INNER_VLAN_VID:
+                    innervidCriterion = (VlanIdCriterion) criterion;
                     break;
                 default:
                     log.warn("Unsupported filter {}", criterion);
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OfdpaPipelineUtility.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OfdpaPipelineUtility.java
index 683b9f6..242ab47 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OfdpaPipelineUtility.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OfdpaPipelineUtility.java
@@ -42,9 +42,7 @@
 import org.onosproject.net.flowobjective.ObjectiveError;
 
 import static org.onosproject.net.behaviour.Pipeliner.ACCUMULATOR_ENABLED;
-import static org.onosproject.net.flow.criteria.Criterion.Type.ETH_TYPE;
-import static org.onosproject.net.flow.criteria.Criterion.Type.MPLS_BOS;
-import static org.onosproject.net.flow.criteria.Criterion.Type.VLAN_VID;
+import static org.onosproject.net.flow.criteria.Criterion.Type.*;
 import static org.onosproject.net.flow.instructions.Instruction.Type.L2MODIFICATION;
 import org.onosproject.net.flow.instructions.L2ModificationInstruction.ModVlanIdInstruction;
 import org.onosproject.net.flow.instructions.L2ModificationInstruction.ModEtherInstruction;
@@ -357,7 +355,8 @@
         return fob.meta() != null &&
                 fob.meta().allInstructions().stream().anyMatch(inst -> inst.type() == L2MODIFICATION
                         && ((L2ModificationInstruction) inst).subtype() == L2SubType.VLAN_POP) &&
-                fob.conditions().stream().filter(criterion -> criterion.type() == VLAN_VID).count() == 2;
+                fob.conditions().stream().anyMatch(criterion -> criterion.type() == VLAN_VID) &&
+                fob.conditions().stream().anyMatch(criterion -> criterion.type() == INNER_VLAN_VID);
     }
 
 }
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OvsOfdpaPipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OvsOfdpaPipeline.java
index cc6e100..a9c15d8 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OvsOfdpaPipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/OvsOfdpaPipeline.java
@@ -251,12 +251,10 @@
                     ethCriterion = (EthCriterion) criterion;
                     break;
                 case VLAN_VID:
-                    if (innervidCriterion == null) {
-                        innervidCriterion = (VlanIdCriterion) criterion;
-                    } else {
-                        outerVidCriterion = innervidCriterion;
-                        innervidCriterion = (VlanIdCriterion) criterion;
-                    }
+                    outerVidCriterion = (VlanIdCriterion) criterion;
+                    break;
+                case INNER_VLAN_VID:
+                    innervidCriterion = (VlanIdCriterion) criterion;
                     break;
                 default:
                     log.warn("Unsupported filter {}", criterion);
