diff --git a/core/scripts/run-tests.sh b/core/scripts/run-tests.sh
index 5029d13..ecf1388 100755
--- a/core/scripts/run-tests.sh
+++ b/core/scripts/run-tests.sh
@@ -47,7 +47,7 @@
   exit;
 }
 
-if ($args['list']) {
+if ($args['list'] || $args['list-description']) {
   // Display all available tests.
   echo "\nAvailable test groups & classes\n";
   echo   "-------------------------------\n\n";
@@ -55,7 +55,7 @@
   foreach ($groups as $group => $tests) {
     echo $group . "\n";
     foreach ($tests as $class => $info) {
-      echo " - " . $info['name'] . ' (' . $class . ')' . "\n";
+      echo " - " . $info['name'] . ' (' . $class . ')' . ($args['list-description'] ? ' - ' . $info['description'] : '') . "\n";
     }
   }
   exit;
@@ -108,6 +108,11 @@ function simpletest_script_help() {
 
   --list      Display all available test groups.
 
+  --list-description
+
+              Display all available test groups with the description for each
+              test case on the line below.
+
   --clean     Cleans up database tables or directories from previous, failed,
               tests and then exits (no tests are run).
 
@@ -179,6 +184,7 @@ function simpletest_script_parse_args() {
     'script' => '',
     'help' => FALSE,
     'list' => FALSE,
+    'list-description' => FALSE,
     'clean' => FALSE,
     'url' => '',
     'php' => '',
