diff --git a/tests-1.3/actions.py b/tests-1.3/actions.py
index 77c1d94..9128f7b 100644
--- a/tests-1.3/actions.py
+++ b/tests-1.3/actions.py
@@ -36,7 +36,7 @@
 
         logging.info("Inserting flow")
         request = ofp.message.flow_add(
-                table_id=test_param_get_table(),
+                table_id=test_param_get("table", 0),
                 match=packet_to_flow_match(self, pkt),
                 instructions=[
                     ofp.instruction.apply_actions(actions)],
@@ -71,7 +71,7 @@
 
         logging.info("Inserting flow")
         request = ofp.message.flow_add(
-                table_id=test_param_get_table(),
+                table_id=test_param_get("table", 0),
                 match=packet_to_flow_match(self, pkt),
                 instructions=[
                     ofp.instruction.apply_actions(actions)],
@@ -103,7 +103,7 @@
 
         logging.info("Inserting flow")
         request = ofp.message.flow_add(
-                table_id=test_param_get_table(),
+                table_id=test_param_get("table", 0),
                 match=packet_to_flow_match(self, pkt),
                 instructions=[
                     ofp.instruction.apply_actions(actions)],
diff --git a/tests-1.3/basic.py b/tests-1.3/basic.py
index 2d0f8e8..d0ad11f 100644
--- a/tests-1.3/basic.py
+++ b/tests-1.3/basic.py
@@ -94,7 +94,7 @@
 
         for out_port in ports:
             request = ofp.message.flow_add(
-                    table_id=test_param_get_table(),
+                    table_id=test_param_get("table", 0),
                     cookie=42,
                     match=match,
                     instructions=[
@@ -134,7 +134,7 @@
 
         for out_port in ports:
             request = ofp.message.flow_add(
-                    table_id=test_param_get_table(),
+                    table_id=test_param_get("table", 0),
                     cookie=42,
                     instructions=[
                         ofp.instruction.apply_actions(
@@ -171,7 +171,7 @@
         match = packet_to_flow_match(self, parsed_pkt)
 
         request = ofp.message.flow_add(
-            table_id=test_param_get_table(),
+            table_id=test_param_get("table", 0),
             cookie=42,
             match=match,
             instructions=[
@@ -206,7 +206,7 @@
         pkt = str(simple_tcp_packet())
 
         request = ofp.message.flow_add(
-            table_id=test_param_get_table(),
+            table_id=test_param_get("table", 0),
             cookie=42,
             instructions=[
                 ofp.instruction.apply_actions(
@@ -241,7 +241,7 @@
         pkt = str(parsed_pkt)
 
         request = ofp.message.flow_add(
-            table_id=test_param_get_table(),
+            table_id=test_param_get("table", 0),
             cookie=42,
             instructions=[
                 ofp.instruction.apply_actions(
diff --git a/tests-1.3/bsn_in_ports.py b/tests-1.3/bsn_in_ports.py
index 0442b85..296a846 100644
--- a/tests-1.3/bsn_in_ports.py
+++ b/tests-1.3/bsn_in_ports.py
@@ -20,6 +20,7 @@
     """
     def runTest(self):
         in_port1, in_port2, out_port, bad_port = openflow_ports(4)
+        table_id = test_param_get("table", 0)
 
         # See the loxigen bsn_in_ports input file for encoding details
         match = ofp.match([
@@ -34,7 +35,7 @@
 
         logging.info("Inserting flow sending matching packets to port %d", out_port)
         request = ofp.message.flow_add(
-                table_id=test_param_get_table(),
+                table_id=table_id,
                 match=match,
                 instructions=[
                     ofp.instruction.apply_actions(
@@ -48,7 +49,7 @@
 
         logging.info("Inserting match-all flow sending packets to controller")
         request = ofp.message.flow_add(
-            table_id=test_param_get_table(),
+            table_id=table_id,
             instructions=[
                 ofp.instruction.apply_actions(
                     actions=[
diff --git a/tests-1.3/flow_stats.py b/tests-1.3/flow_stats.py
index 3853888..02b9cb6 100644
--- a/tests-1.3/flow_stats.py
+++ b/tests-1.3/flow_stats.py
@@ -24,7 +24,7 @@
     """
     def runTest(self):
         port1, port2, port3 = openflow_ports(3)
-        table_id = test_param_get_table()
+        table_id = test_param_get("table", 0)
         delete_all_flows(self.controller)
 
         flow1 = ofp.message.flow_add(
@@ -151,9 +151,10 @@
 
         # Generate a flow for each cookie
         flows = {}
+        table_id = test_param_get("table", 0)
         for idx, cookie in enumerate(cookies):
             flows[cookie] = ofp.message.flow_add(
-                table_id=test_param_get_table(),
+                table_id=table_id,
                 cookie=cookie,
                 match=ofp.match([ofp.oxm.vlan_vid(ofp.OFPVID_PRESENT|idx)]),
                 buffer_id=ofp.OFP_NO_BUFFER)
diff --git a/tests-1.3/match.py b/tests-1.3/match.py
index b0a5167..68436d3 100644
--- a/tests-1.3/match.py
+++ b/tests-1.3/match.py
@@ -35,7 +35,7 @@
         packet data.
         """
         in_port, out_port = openflow_ports(2)
-        table_id = test_param_get_table()
+        table_id = test_param_get("table", 0)
 
         logging.info("Running match test for %s", match.show())
 
@@ -89,7 +89,7 @@
     """
     def runTest(self):
         in_port, out_port, bad_port = openflow_ports(3)
-        table_id = test_param_get_table()
+        table_id = test_param_get("table", 0)
 
         match = ofp.match([
             ofp.oxm.in_port(in_port)
diff --git a/tests-1.3/pktin_match.py b/tests-1.3/pktin_match.py
index 17da936..efc064b 100644
--- a/tests-1.3/pktin_match.py
+++ b/tests-1.3/pktin_match.py
@@ -34,7 +34,7 @@
 
         logging.debug("Inserting match-all flow sending packets to controller")
         request = ofp.message.flow_add(
-            table_id=test_param_get_table(),
+            table_id=test_param_get("table", 0),
             instructions=[
                 ofp.instruction.apply_actions(
                     actions=[
