diff --git a/modules/system/system.test b/modules/system/system.test
index 59c632a..77b6249 100644
--- a/modules/system/system.test
+++ b/modules/system/system.test
@@ -2057,6 +2057,20 @@ class UpdateScriptFunctionalTest extends DrupalWebTestCase {
   }
 
   /**
+   * Confirm that the call to registry_rebuild() on update.php fires successfully.
+  */
+  function testUpdateRegistryRebuild() {
+    $this->drupalLogin($this->update_user);
+    db_update('system')->fields(array('schema_version' => 0))->condition('name', 'system')->execute();
+    system_list_reset();
+    $this->drupalGet($this->update_url, array('external' => TRUE));
+    $this->assertResponse(200);
+    $this->drupalPost($this->update_url, NULL, t('Continue'), array('external' => TRUE));
+    $this->assertText('can not be updated', 'Error message was shown.');
+  }
+
+
+  /**
    * Tests the effect of using the update script on the theme system.
    */
   function testThemeSystem() {
diff --git a/update.php b/update.php
index a777920..016d3b3 100644
--- a/update.php
+++ b/update.php
@@ -103,8 +103,15 @@ function update_script_selection_form($form, &$form_state) {
   }
 
   if (empty($count)) {
-    drupal_set_message(t('No pending updates.'));
-    unset($form);
+    if ($incompatible_updates_exist) {
+      // Work around issue with collapsible regions.
+      // @todo remove when http://drupal.org/node/152431 is fixed
+      $form['start']['#collapsed'] = FALSE;
+    }
+    else {
+      drupal_set_message(t('No pending updates.'));
+      unset($form);
+    }
     $form['links'] = array(
       '#markup' => theme('item_list', array('items' => update_helpful_links())),
     );
