diff --git a/src/python/oftest/testutils.py b/src/python/oftest/testutils.py
index 8b0b3b6..e7c09e1 100644
--- a/src/python/oftest/testutils.py
+++ b/src/python/oftest/testutils.py
@@ -234,13 +234,13 @@
 
     return pkt
 
-def do_barrier(ctrl):
+def do_barrier(ctrl, timeout=-1):
     """
     Do a barrier command
     Return 0 on success, -1 on error
     """
     b = message.barrier_request()
-    (resp, pkt) = ctrl.transact(b)
+    (resp, pkt) = ctrl.transact(b, timeout=timeout)
     # We'll trust the transaction processing in the controller that xid matched
     if not resp:
         return -1
diff --git a/tests/caps.py b/tests/caps.py
index 946a266..6c48840 100644
--- a/tests/caps.py
+++ b/tests/caps.py
@@ -60,7 +60,7 @@
     logging.info("Inserting initial flow")
     rv = obj.controller.message_send(request)
     obj.assertTrue(rv != -1, "Error installing flow mod")
-    obj.assertEqual(do_barrier(obj.controller), 0, "Barrier failed")
+    obj.assertEqual(do_barrier(obj.controller, timeout=10), 0, "Barrier failed")
     flow_count = 1
 
     logging.info("Table idx: " + str(table_idx))
@@ -71,7 +71,7 @@
         rv = obj.controller.message_send(request)
         flow_count += 1
         if flow_count % count_check == 0:
-            obj.assertEqual(do_barrier(obj.controller), 0, "Barrier failed")
+            obj.assertEqual(do_barrier(obj.controller, timeout=10), 0, "Barrier failed")
             response, pkt = obj.controller.transact(tstats)
             obj.assertTrue(response is not None, "Get tab stats failed")
             logging.info(response.show())
