diff --git a/olt.py b/olt.py
index 5f432cf..94c90f3 100644
--- a/olt.py
+++ b/olt.py
@@ -759,19 +759,24 @@
 
     def runTest(self):
         logging.info("Testing multiple Q-in-Q rules")
+        delete_all_flows(self.controller)
+
+        self.processEapolRule(onu_port)
+
+        time.sleep(1)
 
         self.installDoubleTaggingRules(10, 5, cookie=42, onu = onu_port)
 
-        time.sleep(5)
+        time.sleep(1)
 
-        self.installDoubleTaggingRules(20, 10, cookie=50, onu = onu_port2)
+        self.installDoubleTaggingRules(10, 30, cookie=50, onu = onu_port2)
 
-        time.sleep(5)
+        time.sleep(1)
 
         self.testPacketFlow(10, 5, onu=onu_port)
-        self.testPacketFlow(20, 10, onu=onu_port2)
+        self.testPacketFlow(10, 30, onu=onu_port2)
 
-        pass
+        delete_all_flows(self.controller)
 
 
 class DoubleVlanTest(OltBaseTest):
diff --git a/oltconstants.py b/oltconstants.py
index 3e6d03c..f00fb74 100644
--- a/oltconstants.py
+++ b/oltconstants.py
@@ -18,7 +18,7 @@
 
     for portNum in ports:
         buckets.append(ofp.common.bucket(watch_port=ofp.OFPP_ANY, watch_group=ofp.OFPG_ANY,
-                                         actions=[ofp.action.pop_vlan(), ofp.action.output(port=portNum)]))
+                                         actions=[ofp.action.output(port=portNum)]))
 
     group_add = ofp.message.group_add(group_type=ofp.OFPGT_ALL, group_id=group_id, buckets=buckets)
 
@@ -109,4 +109,4 @@
 
     pkt = pkt / ("D" * (pktlen - len(pkt)))
 
-    return pkt
\ No newline at end of file
+    return pkt
