diff --git a/modules/update/update.module b/modules/update/update.module
index a66cfa51247e379313abde33a12c2282bc1206e1..a2d705a0eb02bc5eed090c5f254caa85b863b3a0 100644
--- a/modules/update/update.module
+++ b/modules/update/update.module
@@ -293,6 +293,7 @@ function update_cron() {
     // the cached data for all projects, attempt to re-fetch, and trigger any
     // configured notifications about the new status.
     update_refresh();
+    update_fetch_data();
     _update_cron_notify();
   }
   else {
diff --git a/modules/update/update.test b/modules/update/update.test
index 3affeb8bbe0bd2cca5179f72c132cff6b69887b4..e72f4c5402a71a3e1c9de1b6d79cba4a222674e9 100644
--- a/modules/update/update.test
+++ b/modules/update/update.test
@@ -133,6 +133,19 @@ class UpdateCoreTestCase extends UpdateTestHelper {
     $this->assertNoText(t('Security update required!'));
   }
 
+  /**
+   * Check that running cron updates the list of available updates.
+   */
+  function testModulePageRunCron() {
+    $this->setSystemInfo7_0();
+    variable_set('update_fetch_url', url('update-test', array('absolute' => TRUE)));
+    variable_set('update_test_xml_map', array('drupal' => '0'));
+
+    $this->cronRun();
+    $this->drupalGet('admin/modules');
+    $this->assertNoText(t('No update information available.'));
+  }
+
   /**
    * Check the messages at admin/modules when the site is up to date.
    */
@@ -142,10 +155,10 @@ class UpdateCoreTestCase extends UpdateTestHelper {
     variable_set('update_fetch_url', url('update-test', array('absolute' => TRUE)));
     variable_set('update_test_xml_map', array('drupal' => '0'));
 
-    $this->drupalGet('admin/modules');
-    $this->assertText(t('No update information available.'));
-    $this->clickLink(t('check manually'));
+    $this->drupalGet('admin/reports/updates');
+    $this->clickLink(t('Check manually'));
     $this->assertText(t('Checked available update data for one project.'));
+    $this->drupalGet('admin/modules');
     $this->assertNoText(t('There are updates available for your version of Drupal.'));
     $this->assertNoText(t('There is a security update available for your version of Drupal.'));
   }
@@ -159,10 +172,10 @@ class UpdateCoreTestCase extends UpdateTestHelper {
     variable_set('update_fetch_url', url('update-test', array('absolute' => TRUE)));
     variable_set('update_test_xml_map', array('drupal' => '1'));
 
-    $this->drupalGet('admin/modules');
-    $this->assertText(t('No update information available.'));
-    $this->clickLink(t('check manually'));
+    $this->drupalGet('admin/reports/updates');
+    $this->clickLink(t('Check manually'));
     $this->assertText(t('Checked available update data for one project.'));
+    $this->drupalGet('admin/modules');
     $this->assertText(t('There are updates available for your version of Drupal.'));
     $this->assertNoText(t('There is a security update available for your version of Drupal.'));
   }
@@ -176,10 +189,10 @@ class UpdateCoreTestCase extends UpdateTestHelper {
     variable_set('update_fetch_url', url('update-test', array('absolute' => TRUE)));
     variable_set('update_test_xml_map', array('drupal' => '2-sec'));
 
-    $this->drupalGet('admin/modules');
-    $this->assertText(t('No update information available.'));
-    $this->clickLink(t('check manually'));
+    $this->drupalGet('admin/reports/updates');
+    $this->clickLink(t('Check manually'));
     $this->assertText(t('Checked available update data for one project.'));
+    $this->drupalGet('admin/modules');
     $this->assertNoText(t('There are updates available for your version of Drupal.'));
     $this->assertText(t('There is a security update available for your version of Drupal.'));