diff --git a/tests/pktact.py b/tests/pktact.py
index dff4420..0b04c56 100644
--- a/tests/pktact.py
+++ b/tests/pktact.py
@@ -960,13 +960,12 @@
         vid = test_param_get('vid', default=TEST_VID_DEFAULT)
         flow_match_test(self, config["port_map"], dl_vlan=vid)
 
+@disabled
 class ExactMatchTaggedMany(BaseMatchCase):
     """
     ExactMatchTagged with many VLANS
     """
 
-    priority = -1
-
     def runTest(self):
         for vid in range(2,100,10):
             flow_match_test(self, config["port_map"], dl_vlan=vid, max_test=5)
@@ -1293,13 +1292,12 @@
         flow_match_test(self, config["port_map"], pkt=pkt, 
                         exp_pkt=exp_pkt, action_list=[vid_act])
 
+@disabled
 class PacketOnly(base_tests.DataPlaneOnly):
     """
     Just send a packet thru the switch
     """
 
-    priority = -1
-
     def runTest(self):
         pkt = simple_tcp_packet()
         of_ports = config["port_map"].keys()
@@ -1309,13 +1307,12 @@
         logging.debug("Data: " + str(pkt).encode('hex'))
         self.dataplane.send(ing_port, str(pkt))
 
+@disabled
 class PacketOnlyTagged(base_tests.DataPlaneOnly):
     """
     Just send a packet thru the switch
     """
 
-    priority = -1
-
     def runTest(self):
         vid = test_param_get('vid', default=TEST_VID_DEFAULT)
         pkt = simple_tcp_packet(dl_vlan_enable=True, dl_vlan=vid)
@@ -1867,6 +1864,7 @@
     ModifyL2SrcDstMC
     ]
 
+@disabled
 class IterCases(BaseMatchCase):
     """
     Iterate over a bunch of test cases
@@ -1874,8 +1872,6 @@
     The cases come from the list above
     """
 
-    priority = -1
-
     def runTest(self):
         count = test_param_get('iter_count', default=10)
         tests_done = 0
@@ -1911,6 +1907,7 @@
 # and modifies tag 4 to tag 5.  Then verify (in addition) that
 # tag 6 does not get modified.
 
+@disabled
 class MixedVLAN(BaseMatchCase):
     """
     Test mixture of VLAN tag actions
@@ -1934,8 +1931,6 @@
     If only VID 5 distinguishes pkt, this will fail on some platforms
     """   
 
-    priority = -1
-
 class MatchEach(base_tests.SimpleDataPlane):
     """
     Check that each match field is actually matched on.
