diff --git a/review/simpletest/pifr_simpletest.client.inc b/review/simpletest/pifr_simpletest.client.inc
index 9256f49..01a01e3 100644
--- a/review/simpletest/pifr_simpletest.client.inc
+++ b/review/simpletest/pifr_simpletest.client.inc
@@ -127,11 +127,21 @@ class pifr_client_review_pifr_simpletest extends pifr_client_review_pifr_drupal
     $run_tests = file_exists('scripts/run-tests.sh') ? 'scripts/run-tests.sh' : 'core/scripts/run-tests.sh';
     $url = escapeshellarg(url('', array('absolute' => TRUE)) . 'checkout');
 
+    // Load the run-tests.sh script content to figure out supported arguments.
+    $run_tests_content = file_get_contents($run_tests);
+
     // Set up 'run-tests.sh' command
-    $command = PIFR_CLIENT_PHP . ' ./' . $run_tests . ' --concurrency ' . PIFR_CLIENT_CONCURRENCY . ' --php ' . PIFR_CLIENT_PHP . ' --url ' . $url . ' ' . $test_list;
-    $this->log('Cleaning run-tests.sh environment.');
+    $command = PIFR_CLIENT_PHP . ' ./' . $run_tests;
+    $command .= ' --concurrency ' . PIFR_CLIENT_CONCURRENCY;
+    $command .= ' --php ' . PIFR_CLIENT_PHP;
+    $command .= ' --url ' . $url;
+    if (strpos($run_tests_content, '--keep-results') !== FALSE) {
+      $command .= ' --keep-results';
+    }
+    $command .= ' ' . $test_list;
 
     // Attempt to clear out any tables from previous runs
+    $this->log('Cleaning run-tests.sh environment.');
     if (!$this->exec($command . ' --clean')) {
       $this->set_error(array('@reason' => t('failed during invocation of run-tests.sh --clean')));
       return;
