diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index 54803de6804535d9938a2dc01d61feefff679a87..1de20ae1b60f5580b336425b0dd699a8d082f9de 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -1462,6 +1462,8 @@ def _build_and_run(
       if not isclose(args.sample_percent, 100.0):
         print("Running %d tests out of %d (~%d%%)" %
               (sample_size, num_jobs, args.sample_percent))
+      else:
+        assert args.runs_per_test == 1, "Can't do sampling (-p) over multiple runs (-n)."
     if infinite_runs:
       assert len(massaged_one_run) > 0, 'Must have at least one test for a -n inf run'
     runs_sequence = (itertools.repeat(massaged_one_run) if infinite_runs