diff --git a/includes/common.inc b/includes/common.inc
index aac56ef14b99df1a16f7201d4eaa09dc28245c2d..118953c538a7ea020a97a10b5bade2bfc215f5ea 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -4098,9 +4098,12 @@ function drupal_page_set_cache() {
 }
 
 /**
- * Executes a cron run when called
+ * Executes a cron run when called.
+ *
+ * Do not call this function from test, use $this->cronRun() instead.
+ *
  * @return
- * Returns TRUE if ran successfully
+ *   Returns TRUE if ran successfully
  */
 function drupal_cron_run() {
   // Allow execution to continue even if the request gets canceled.
diff --git a/modules/search/search.test b/modules/search/search.test
index 357789039ee9ef9ab19b11d36f3f03443cc2a35d..2e5750a5876db7fc0b0b1944a5dcc7b1cc055e1e 100644
--- a/modules/search/search.test
+++ b/modules/search/search.test
@@ -499,7 +499,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
 
     // Invoke search index update.
     $this->drupalLogout();
-    $this->drupalGet($GLOBALS['base_url'] . '/cron.php', array('external' => TRUE, 'query' => array('cron_key' => variable_get('cron_key', 'drupal'))));
+    $this->cronRun();
 
     // Search for $title.
     $edit = array(
@@ -521,7 +521,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
 
     // Invoke search index update.
     $this->drupalLogout();
-    $this->drupalGet($GLOBALS['base_url'] . '/cron.php', array('external' => TRUE, 'query' => array('cron_key' => variable_get('cron_key', 'drupal'))));
+    $this->cronRun();
 
     // Search for $title.
     $this->drupalPost('', $edit, t('Search'));
diff --git a/modules/simpletest/drupal_web_test_case.php b/modules/simpletest/drupal_web_test_case.php
index edab208755e34585b7a9222b53bfc76c37cddda7..37ff8cfa89b088fa52c423f975399f6ad395a052 100644
--- a/modules/simpletest/drupal_web_test_case.php
+++ b/modules/simpletest/drupal_web_test_case.php
@@ -1499,6 +1499,13 @@ protected function drupalPost($path, $edit, $submit, array $options = array(), a
     }
   }
 
+  /**
+   * Runs cron in the Drupal installed by Simpletest.
+   */
+  protected function cronRun() {
+    $this->drupalGet($GLOBALS['base_url'] . '/cron.php', array('external' => TRUE, 'query' => array('cron_key' => variable_get('cron_key', 'drupal'))));
+  }
+
   /**
    * Check for meta refresh tag and if found call drupalGet() recursively. This
    * function looks for the http-equiv attribute to be set to "Refresh"
diff --git a/modules/system/system.test b/modules/system/system.test
index fdf6887bbce8dcecff7b6466cd19b75bc79c6262..78bece99a2f2840294445eb3c5d851158364dda8 100644
--- a/modules/system/system.test
+++ b/modules/system/system.test
@@ -386,9 +386,6 @@ class CronRunTestCase extends DrupalWebTestCase {
     $key = variable_get('cron_key', 'drupal');
     $this->drupalGet($base_url . '/cron.php', array('external' => TRUE, 'query' => array('cron_key' => $key)));
     $this->assertResponse(200);
-
-    // Execute cron directly.
-    $this->assertTrue(drupal_cron_run(), t('Cron ran successfully.'));
   }
 
   /**
@@ -475,7 +472,7 @@ class CronRunTestCase extends DrupalWebTestCase {
     $this->assertTrue(file_exists($perm_new->uri), t('New permanent file was created correctly.'));
 
     // Run cron and then ensure that only the old, temp file was deleted.
-    $this->assertTrue(drupal_cron_run(), t('Cron ran successfully.'));
+    $this->cronRun();
     $this->assertFalse(file_exists($temp_old->uri), t('Old temp file was correctly removed.'));
     $this->assertTrue(file_exists($temp_new->uri), t('New temp file was correctly ignored.'));
     $this->assertTrue(file_exists($perm_old->uri), t('Old permanent file was correctly ignored.'));
diff --git a/modules/trigger/trigger.test b/modules/trigger/trigger.test
index 99a001640948ac07572cce1d4f7ae62a9feaf943..7204dc395670a2a175d31c039cf699feba09674f 100644
--- a/modules/trigger/trigger.test
+++ b/modules/trigger/trigger.test
@@ -165,7 +165,7 @@ class TriggerCronTestCase extends DrupalWebTestCase {
     $this->drupalPost('admin/structure/trigger/system', $edit, t('Assign'));
 
     // Force a cron run.
-    drupal_cron_run();
+    $this->cronRun();
 
     // Make sure the non-configurable action has fired.
     $action_run = variable_get('trigger_test_system_cron_action', FALSE);