diff --git a/includes/update.inc b/includes/update.inc
index 1eb7a1d..1fbd807 100644
--- a/includes/update.inc
+++ b/includes/update.inc
@@ -355,6 +355,12 @@ function update_fix_d7_block_deltas(&$sandbox, $renamed_deltas, $moved_deltas) {
             ))
             ->fetchField();
           if ($block_exists) {
+            // Delete any existing blocks with the new module+delta.
+            db_delete($table)
+              ->condition('module', $module)
+              ->condition('delta', $new_delta)
+              ->execute();
+            // Rename the old block to the new module+delta.
             db_update($table)
               ->fields(array('delta' => $new_delta))
               ->condition('module', $module)
@@ -372,6 +378,12 @@ function update_fix_d7_block_deltas(&$sandbox, $renamed_deltas, $moved_deltas) {
             ))
             ->fetchField();
           if ($block_exists) {
+            // Delete any existing blocks with the new module+delta.
+            db_delete($table)
+              ->condition('module', $new_module)
+              ->condition('delta', $delta)
+              ->execute();
+            // Rename the old block to the new module+delta.
             db_update($table)
               ->fields(array('module' => $new_module))
               ->condition('module', $old_module)
diff --git a/modules/menu/menu.install b/modules/menu/menu.install
index 13cb3cb..3b75ad4 100644
--- a/modules/menu/menu.install
+++ b/modules/menu/menu.install
@@ -120,6 +120,8 @@ function menu_update_7001() {
   }
 
   // Rename each menu, and any settings that refer to the old menu name.
+  // - "Primary Links" has become system menu "Main menu".
+  // - "Secondary Links" has become a new custom menu "Secondary menu".
   $rename = array(
     'primary-links' => array('main-menu', 'Main menu'),
     'secondary-links' => array('secondary-menu', 'Secondary menu'),
@@ -161,6 +163,23 @@ function menu_update_7001() {
 }
 
 /**
+ * Rename the primary/secondary menu blocks to match previously renamed menus.
+ */
+function menu_update_7002(&$sandbox) {
+  $renamed_deltas = array(
+    'menu' => array(
+      'primary-links' => 'main-menu',
+      'secondary-links' => 'secondary-menu',
+    ),
+  );
+
+  $moved_deltas = array(
+    'menu' => array('main-menu' => 'system'),
+  );
+
+  update_fix_d7_block_deltas($sandbox, $renamed_deltas, $moved_deltas);
+}
+/**
  * @} End of "defgroup updates-7.x-extra"
  * The next series of updates should start at 8000.
  */
diff --git a/modules/simpletest/tests/upgrade/drupal-6.menu.database.php b/modules/simpletest/tests/upgrade/drupal-6.menu.database.php
index f5c588a..8962615 100644
--- a/modules/simpletest/tests/upgrade/drupal-6.menu.database.php
+++ b/modules/simpletest/tests/upgrade/drupal-6.menu.database.php
@@ -127,3 +127,49 @@ db_insert('menu_links')->fields(array(
   'updated' => '0',
 ))
 ->execute();
+db_insert('blocks')->fields(array(
+  'bid',
+  'module',
+  'delta',
+  'theme',
+  'status',
+  'weight',
+  'region',
+  'custom',
+  'throttle',
+  'visibility',
+  'pages',
+  'title',
+  'cache',
+))
+->values(array(
+  'bid' => '4',
+  'module' => 'menu',
+  'delta' => 'primary-links',
+  'theme' => 'garland',
+  'status' => '1',
+  'weight' => '0',
+  'region' => 'left',
+  'custom' => '0',
+  'throttle' => '0',
+  'visibility' => '0',
+  'pages' => '',
+  'title' => 'My Primary Links',
+  'cache' => '-1',
+))
+->values(array(
+  'bid' => '5',
+  'module' => 'menu',
+  'delta' => 'secondary-links',
+  'theme' => 'garland',
+  'status' => '1',
+  'weight' => '0',
+  'region' => 'left',
+  'custom' => '0',
+  'throttle' => '0',
+  'visibility' => '0',
+  'pages' => '',
+  'title' => 'My Secondary Links',
+  'cache' => '-1',
+))
+->execute();
diff --git a/modules/simpletest/tests/upgrade/upgrade.menu.test b/modules/simpletest/tests/upgrade/upgrade.menu.test
index 5a17a19..bf28a5f 100644
--- a/modules/simpletest/tests/upgrade/upgrade.menu.test
+++ b/modules/simpletest/tests/upgrade/upgrade.menu.test
@@ -74,5 +74,10 @@ class MenuUpgradePathTestCase extends UpgradePathTestCase {
     $this->drupalGet('admin/structure/menu/settings');
     $this->assertOptionSelected('edit-menu-main-links-source', 'secondary-menu');
     $this->assertOptionSelected('edit-menu-secondary-links-source', 'main-menu');
+
+    // Check that both primary/secondary links blocks are visible.
+    $this->drupalGet('node');
+    $this->assertText('My Primary Links', '(Formerly) Primary Links block is still visible');
+    $this->assertText('My Secondary Links', '(Formerly) Secondary Links block is still visible');
   }
 }
