diff --git a/testsuite/expect/regression.py b/testsuite/expect/regression.py
index 124640cd9ffc42da0bfbb29e407e07fb7e8a4599..9e74474f1fa3e7d9565be26c3948fe3c74ea4745 100755
--- a/testsuite/expect/regression.py
+++ b/testsuite/expect/regression.py
@@ -59,6 +59,7 @@ def main(argv=None):
                       action='callback', callback=test_parser,
                       help='comma or space separated string of tests to include')
     parser.add_option('-k', '--keep-logs', action='store_true', default=False)
+    parser.add_option('-s', '--stop-on-first-fail', action='store_true', default=False)
     (options, args) = parser.parse_args(args=argv)
 
     # Sanity check
@@ -130,6 +131,8 @@ def main(argv=None):
             failed_tests.append(test)
             os.rename(testlog_name, testlog_name+'.failed')
             sys.stdout.write('FAILED!\n')
+            if options.stop_on_first_fail:
+                break
         sys.stdout.flush()
 
     end_time = time.time()