Index: modules/system/system.updater.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.updater.inc,v
retrieving revision 1.5
diff -u -p -r1.5 system.updater.inc
--- modules/system/system.updater.inc	30 Jan 2010 07:59:25 -0000	1.5
+++ modules/system/system.updater.inc	9 Mar 2010 02:30:05 -0000
@@ -81,10 +81,8 @@ class ModuleUpdater extends Updater impl
   }
 
   public function postUpdateTasks() {
-    // @todo: If there are schema updates.
-    return array(
-      l(t('Run database updates for !project', array('!project' => $this->title)), 'update.php'),
-    );
+    // We don't want to check for DB updates here, we do that once for all
+    // updated modules on the landing page.
   }
 
 }
Index: modules/update/update.authorize.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/update/update.authorize.inc,v
retrieving revision 1.3
diff -u -p -r1.3 update.authorize.inc
--- modules/update/update.authorize.inc	1 Nov 2009 23:02:13 -0000	1.3
+++ modules/update/update.authorize.inc	9 Mar 2010 02:31:37 -0000
@@ -154,7 +154,9 @@ function update_authorize_batch_copy_pro
   }
 
   _update_batch_create_message($context['results']['log'][$project], t('Installed %project_name successfully', array('%project_name' => $project)));
-  $context['results']['tasks'] += $tasks;
+  if (!empty($tasks)) {
+    $context['results']['tasks'] += $tasks;
+  }
 
   // This particular operation is now complete, even though the batch might
   // have other operations to perform.
@@ -207,6 +209,10 @@ function update_authorize_update_batch_f
     );
   }
 
+  // Since we're doing an update of existing code, always add a task for
+  // running update.php.
+  $results['tasks'][] = t('<a href="@update">Run updates to migrate your data</a>', array('@update' => base_path() . 'update.php'));
+
   // Set all these values into the SESSION so authorize.php can display them.
   $_SESSION['authorize_results']['success'] = $success;
   $_SESSION['authorize_results']['page_message'] = $page_message;
