diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Core/Entity/Vocabulary.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Core/Entity/Vocabulary.php
index c69171d..6a9f550 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Core/Entity/Vocabulary.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Core/Entity/Vocabulary.php
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Definition of Drupal\taxonomy\Plugin\Core\Entity\Vocabulary.
+ * Contains \Drupal\taxonomy\Plugin\Core\Entity\Vocabulary.
  */
 
 namespace Drupal\taxonomy\Plugin\Core\Entity;
@@ -75,9 +75,23 @@ class Vocabulary extends ConfigEntityBase {
   public $weight = 0;
 
   /**
-   * Implements Drupal\Core\Entity\EntityInterface::id().
+   * {@inheritdoc}
    */
   public function id() {
     return $this->vid;
   }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function uri() {
+    return array(
+      'path' => 'admin/structure/taxonomy/manage/' . $this->id(),
+      'options' => array(
+        'entity_type' => $this->entityType,
+        'entity' => $this,
+      ),
+    );
+  }
+
 }
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/HooksTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/HooksTest.php
index edddd1a..35636b0 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/HooksTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/HooksTest.php
@@ -50,7 +50,7 @@ function testTaxonomyTermHooks() {
       'name' => $this->randomName(),
       'antonym' => 'Long',
     );
-    $this->drupalPost('admin/structure/taxonomy/' . $vocabulary->id() . '/add', $edit, t('Save'));
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add', $edit, t('Save'));
     $terms = taxonomy_term_load_multiple_by_name($edit['name']);
     $term = reset($terms);
     $this->assertEqual($term->antonym, $edit['antonym'], 'Antonym was loaded into the term object.');
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermLanguageTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermLanguageTest.php
index e2729dd..f271a4e 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermLanguageTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermLanguageTest.php
@@ -49,10 +49,10 @@ function testTermLanguage() {
     $edit = array(
       'default_language[language_show]' => TRUE,
     );
-    $this->drupalPost('admin/structure/taxonomy/' . $this->vocabulary->id() . '/edit', $edit, t('Save'));
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/edit', $edit, t('Save'));
 
     // Add a term.
-    $this->drupalGet('admin/structure/taxonomy/' . $this->vocabulary->id() . '/add');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add');
     // Check that we have the language selector.
     $this->assertField('edit-langcode', t('The language selector field was found on the page'));
     // Submit the term.
@@ -85,8 +85,8 @@ function testDefaultTermLanguage() {
       'default_language[langcode]' => 'bb',
       'default_language[language_show]' => TRUE,
     );
-    $this->drupalPost('admin/structure/taxonomy/' . $this->vocabulary->id() . '/edit', $edit, t('Save'));
-    $this->drupalGet('admin/structure/taxonomy/' . $this->vocabulary->id() . '/add');
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/edit', $edit, t('Save'));
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add');
     $this->assertOptionSelected('edit-langcode', 'bb');
 
     // Make the default language of the terms to be the current interface.
@@ -94,10 +94,10 @@ function testDefaultTermLanguage() {
       'default_language[langcode]' => 'current_interface',
       'default_language[language_show]' => TRUE,
     );
-    $this->drupalPost('admin/structure/taxonomy/' . $this->vocabulary->id() . '/edit', $edit, t('Save'));
-    $this->drupalGet('aa/admin/structure/taxonomy/' . $this->vocabulary->id() . '/add');
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/edit', $edit, t('Save'));
+    $this->drupalGet('aa/admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add');
     $this->assertOptionSelected('edit-langcode', 'aa');
-    $this->drupalGet('bb/admin/structure/taxonomy/' . $this->vocabulary->id() . '/add');
+    $this->drupalGet('bb/admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add');
     $this->assertOptionSelected('edit-langcode', 'bb');
 
     // Change the default language of the site and check if the default terms
@@ -112,8 +112,8 @@ function testDefaultTermLanguage() {
       'default_language[langcode]' => 'site_default',
       'default_language[language_show]' => TRUE,
     );
-    $this->drupalPost('admin/structure/taxonomy/' . $this->vocabulary->id() . '/edit', $edit, t('Save'));
-    $this->drupalGet('admin/structure/taxonomy/' . $this->vocabulary->id() . '/add');
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/edit', $edit, t('Save'));
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add');
     $this->assertOptionSelected('edit-langcode', 'cc');
   }
 }
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTest.php
index 6b8cff3..5132da2 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTest.php
@@ -293,14 +293,14 @@ function testTermInterface() {
     $edit['parent[]'] = array(0);
 
     // Create the term to edit.
-    $this->drupalPost('admin/structure/taxonomy/' . $this->vocabulary->id() . '/add', $edit, t('Save'));
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add', $edit, t('Save'));
 
     $terms = taxonomy_term_load_multiple_by_name($edit['name']);
     $term = reset($terms);
     $this->assertNotNull($term, 'Term found in database.');
 
     // Submitting a term takes us to the add page; we need the List page.
-    $this->drupalGet('admin/structure/taxonomy/' . $this->vocabulary->id());
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id());
 
     // Test edit link as accessed from Taxonomy administration pages.
     // Because Simpletest creates its own database when running tests, we know
@@ -319,7 +319,7 @@ function testTermInterface() {
     $this->drupalPost('taxonomy/term/' . $term->tid . '/edit', $edit, t('Save'));
 
     // Check that the term is still present at admin UI after edit.
-    $this->drupalGet('admin/structure/taxonomy/' . $this->vocabulary->id());
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id());
     $this->assertText($edit['name'], 'The randomly generated term name is present.');
     $this->assertLink(t('edit'));
 
@@ -367,7 +367,7 @@ function testTermReorder() {
     drupal_static_reset('taxonomy_get_treeterms');
     list($term1, $term2, $term3) = taxonomy_get_tree($this->vocabulary->id());
 
-    $this->drupalGet('admin/structure/taxonomy/' . $this->vocabulary->id());
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id());
 
     // Each term has four hidden fields, "tid:1:0[tid]", "tid:1:0[parent]",
     // "tid:1:0[depth]", and "tid:1:0[weight]". Change the order to term2,
@@ -397,7 +397,7 @@ function testTermReorder() {
     $this->assertEqual($terms[1]->parents, array($term2->tid), 'Term 3 was made a child of term 2.');
     $this->assertEqual($terms[2]->tid, $term1->tid, 'Term 1 was moved below term 2.');
 
-    $this->drupalPost('admin/structure/taxonomy/' . $this->vocabulary->id(), array(), t('Reset to alphabetical'));
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $this->vocabulary->id(), array(), t('Reset to alphabetical'));
     // Submit confirmation form.
     $this->drupalPost(NULL, array(), t('Reset to alphabetical'));
 
@@ -425,7 +425,7 @@ function testTermMultipleParentsInterface() {
       'parent[]' => array(0, $parent->tid),
     );
     // Save the new term.
-    $this->drupalPost('admin/structure/taxonomy/' . $this->vocabulary->id() . '/add', $edit, t('Save'));
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add', $edit, t('Save'));
 
     // Check that the term was successfully created.
     $terms = taxonomy_term_load_multiple_by_name($edit['name']);
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTranslationUITest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTranslationUITest.php
index cf3e000..f719fd7 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTranslationUITest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/TermTranslationUITest.php
@@ -116,12 +116,12 @@ function testTranslateLinkVocabularyAdminPage() {
     $untranslatable_tid = $this->createEntity(array(), $this->langcodes[0], $untranslatable_vocabulary->id());
 
     // Verify translation links.
-    $this->drupalGet('admin/structure/taxonomy/' .  $this->vocabulary->id());
+    $this->drupalGet('admin/structure/taxonomy/manage/' .  $this->vocabulary->id());
     $this->assertResponse(200);
     $this->assertLinkByHref('term/' . $translatable_tid . '/translations');
     $this->assertLinkByHref('term/' . $translatable_tid . '/edit');
 
-    $this->drupalGet('admin/structure/taxonomy/' . $untranslatable_vocabulary->id());
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $untranslatable_vocabulary->id());
     $this->assertResponse(200);
     $this->assertLinkByHref('term/' . $untranslatable_tid . '/edit');
     $this->assertNoLinkByHref('term/' . $untranslatable_tid . '/translations');
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/ThemeTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/ThemeTest.php
index c14a562..d8f2965 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/ThemeTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/ThemeTest.php
@@ -44,7 +44,7 @@ function testTaxonomyTermThemes() {
     // Adding a term to a vocabulary is considered an administrative action and
     // should use the administrative theme.
     $vocabulary = $this->createVocabulary();
-    $this->drupalGet('admin/structure/taxonomy/' . $vocabulary->id() . '/add');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
     $this->assertRaw('seven/style.css', t("The administrative theme's CSS appears on the page for adding a taxonomy term."));
 
     // Viewing a taxonomy term should use the default theme.
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyLanguageTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyLanguageTest.php
index 89053cd..14c915c 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyLanguageTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyLanguageTest.php
@@ -63,7 +63,7 @@ function testVocabularyLanguage() {
     $this->drupalPost(NULL, $edit, t('Save'));
 
     // Check the language on the edit page.
-    $this->drupalGet('admin/structure/taxonomy/' . $vid . '/edit');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $vid . '/edit');
     $this->assertOptionSelected('edit-langcode', $edit['langcode'], 'The vocabulary language was correctly selected.');
 
     // Change the language and save again.
@@ -72,7 +72,7 @@ function testVocabularyLanguage() {
     $this->drupalPost(NULL, $edit, t('Save'));
 
     // Check again the language on the edit page.
-    $this->drupalGet('admin/structure/taxonomy/' . $vid . '/edit');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $vid . '/edit');
     $this->assertOptionSelected('edit-langcode', $edit['langcode'], 'The vocabulary language was correctly selected.');
   }
 
@@ -92,7 +92,7 @@ function testVocabularyDefaultLanguageForTerms() {
     $this->drupalPost('admin/structure/taxonomy/add', $edit, t('Save'));
 
     // Check that the vocabulary was actually created.
-    $this->drupalGet('admin/structure/taxonomy/' . $edit['vid'] . '/edit');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $edit['vid'] . '/edit');
     $this->assertResponse(200, 'The vocabulary has been created.');
 
     // Check that the language settings were saved.
@@ -109,14 +109,14 @@ function testVocabularyDefaultLanguageForTerms() {
       'default_language[langcode]' => 'aa',
       'default_language[language_show]' => FALSE,
     );
-    $this->drupalPost('admin/structure/taxonomy/' . $vid . '/edit', $edit, t('Save'));
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $vid . '/edit', $edit, t('Save'));
 
     // And check again the settings and also the interface.
     $language_settings = language_get_default_configuration('taxonomy_term', $vid);
     $this->assertEqual($language_settings['langcode'], 'aa');
     $this->assertEqual($language_settings['language_show'], FALSE);
 
-    $this->drupalGet('admin/structure/taxonomy/' . $vid . '/edit');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $vid . '/edit');
     $this->assertOptionSelected('edit-default-language-langcode', 'aa', 'The correct default language for the terms of this vocabulary is selected.');
     $this->assertNoFieldChecked('edit-default-language-language-show', 'Show language selection option is not checked.');
 
@@ -126,7 +126,7 @@ function testVocabularyDefaultLanguageForTerms() {
       'default_language[langcode]' => 'authors_default',
       'default_language[language_show]' => FALSE,
     );
-    $this->drupalPost('admin/structure/taxonomy/' . $vid . '/edit', $edit, t('Save'));
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $vid . '/edit', $edit, t('Save'));
 
     // Check that we have the new settings.
     $new_settings = language_get_default_configuration('taxonomy_term', $vid);
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyPermissionsTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyPermissionsTest.php
index 941d6e8..762f632 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyPermissionsTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyPermissionsTest.php
@@ -35,7 +35,7 @@ function testVocabularyPermissionsTaxonomyTerm() {
     $this->drupalLogin($user);
 
     // Visit the main taxonomy administration page.
-    $this->drupalGet('admin/structure/taxonomy/' . $vocabulary->id() . '/add');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
     $this->assertResponse(200);
     $this->assertField('edit-name', 'Add taxonomy term form opened successfully.');
 
@@ -71,7 +71,7 @@ function testVocabularyPermissionsTaxonomyTerm() {
     $this->drupalLogin($user);
 
     // Visit the main taxonomy administration page.
-    $this->drupalGet('admin/structure/taxonomy/' . $vocabulary->id() . '/add');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
     $this->assertResponse(403, 'Add taxonomy term form open failed.');
 
     // Create a test term.
@@ -95,7 +95,7 @@ function testVocabularyPermissionsTaxonomyTerm() {
     $this->drupalLogin($user);
 
     // Visit the main taxonomy administration page.
-    $this->drupalGet('admin/structure/taxonomy/' . $vocabulary->id() . '/add');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
     $this->assertResponse(403, 'Add taxonomy term form open failed.');
 
     // Create a test term.
@@ -118,7 +118,7 @@ function testVocabularyPermissionsTaxonomyTerm() {
     $this->drupalLogin($user);
 
     // Visit the main taxonomy administration page.
-    $this->drupalGet('admin/structure/taxonomy/' . $vocabulary->id() . '/add');
+    $this->drupalGet('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add');
     $this->assertResponse(403, 'Add taxonomy term form open failed.');
 
     // Create a test term.
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyTest.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyTest.php
index b2e79c9..fab9d97 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyTest.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Tests/VocabularyTest.php
@@ -142,7 +142,7 @@ function testTaxonomyAdminDeletingVocabulary() {
 
     // Delete the vocabulary.
     $edit = array();
-    $this->drupalPost('admin/structure/taxonomy/' . $vocabulary->id() . '/edit', $edit, t('Delete'));
+    $this->drupalPost('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/edit', $edit, t('Delete'));
     $this->assertRaw(t('Are you sure you want to delete the vocabulary %name?', array('%name' => $vocabulary->name)), '[confirm deletion] Asks for confirmation.');
     $this->assertText(t('Deleting a vocabulary will delete all the terms in it. This action cannot be undone.'), '[confirm deletion] Inform that all terms will be deleted.');
 
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyFormController.php b/core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyFormController.php
index 6785335..fc63a0e 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyFormController.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/VocabularyFormController.php
@@ -108,26 +108,6 @@ protected function actions(array $form, array &$form_state) {
   }
 
   /**
-   * Overrides Drupal\Core\Entity\EntityFormController::validate().
-   */
-  public function validate(array $form, array &$form_state) {
-    parent::validate($form, $form_state);
-
-    // Make sure that the machine name of the vocabulary is not in the
-    // disallowed list (names that conflict with menu items, such as 'list'
-    // and 'add').
-    // During the deletion there is no 'vid' key.
-    if (isset($form_state['values']['vid'])) {
-      // Do not allow machine names to conflict with taxonomy path arguments.
-      $vid = $form_state['values']['vid'];
-      $disallowed = array('add', 'list');
-      if (in_array($vid, $disallowed)) {
-        form_set_error('vid', t('The machine-readable name cannot be "add" or "list".'));
-      }
-    }
-  }
-
-  /**
    * Submit handler to update the bundle for the default language configuration.
    */
   public function languageConfigurationSubmit(array &$form, array &$form_state) {
@@ -172,13 +152,13 @@ public function save(array $form, array &$form_state) {
     switch (taxonomy_vocabulary_save($vocabulary)) {
       case SAVED_NEW:
         drupal_set_message(t('Created new vocabulary %name.', array('%name' => $vocabulary->name)));
-        watchdog('taxonomy', 'Created new vocabulary %name.', array('%name' => $vocabulary->name), WATCHDOG_NOTICE, l(t('edit'), 'admin/structure/taxonomy/' . $vocabulary->id() . '/edit'));
-        $form_state['redirect'] = 'admin/structure/taxonomy/' . $vocabulary->id();
+        watchdog('taxonomy', 'Created new vocabulary %name.', array('%name' => $vocabulary->name), WATCHDOG_NOTICE, l(t('edit'), 'admin/structure/taxonomy/manage/' . $vocabulary->id() . '/edit'));
+        $form_state['redirect'] = 'admin/structure/taxonomy/manage/' . $vocabulary->id();
         break;
 
       case SAVED_UPDATED:
         drupal_set_message(t('Updated vocabulary %name.', array('%name' => $vocabulary->name)));
-        watchdog('taxonomy', 'Updated vocabulary %name.', array('%name' => $vocabulary->name), WATCHDOG_NOTICE, l(t('edit'), 'admin/structure/taxonomy/' . $vocabulary->id() . '/edit'));
+        watchdog('taxonomy', 'Updated vocabulary %name.', array('%name' => $vocabulary->name), WATCHDOG_NOTICE, l(t('edit'), 'admin/structure/taxonomy/manage/' . $vocabulary->id() . '/edit'));
         $form_state['redirect'] = 'admin/structure/taxonomy';
         break;
     }
diff --git a/core/modules/taxonomy/taxonomy.admin.inc b/core/modules/taxonomy/taxonomy.admin.inc
index d26501f..4520d51 100644
--- a/core/modules/taxonomy/taxonomy.admin.inc
+++ b/core/modules/taxonomy/taxonomy.admin.inc
@@ -42,15 +42,15 @@ function taxonomy_overview_vocabularies($form) {
     $links = array();
     $links['edit'] = array(
       'title' => t('edit vocabulary'),
-      'href' => "admin/structure/taxonomy/{$vocabulary->id()}/edit",
+      'href' => "admin/structure/taxonomy/manage/{$vocabulary->id()}/edit",
     );
     $links['list'] = array(
       'title' => t('list terms'),
-      'href' => "admin/structure/taxonomy/{$vocabulary->id()}",
+      'href' => "admin/structure/taxonomy/manage/{$vocabulary->id()}",
     );
     $links['add'] = array(
       'title' => t('add terms'),
-      'href' => "admin/structure/taxonomy/{$vocabulary->id()}/add",
+      'href' => "admin/structure/taxonomy/manage/{$vocabulary->id()}/add",
     );
     $form['vocabularies'][$vocabulary->id()]['operations'] = array(
       '#type' => 'operations',
@@ -234,7 +234,7 @@ function taxonomy_overview_terms($form, &$form_state, Vocabulary $vocabulary) {
   $form['terms'] = array(
     '#type' => 'table',
     '#header' => array(t('Name'), t('Weight'), t('Operations')),
-    '#empty' => t('No terms available. <a href="@link">Add term</a>.', array('@link' => url('admin/structure/taxonomy/' . $vocabulary->id() . '/add'))),
+    '#empty' => t('No terms available. <a href="@link">Add term</a>.', array('@link' => url('admin/structure/taxonomy/manage/' . $vocabulary->id() . '/add'))),
     '#attributes' => array(
       'id' => 'taxonomy',
     ),
@@ -599,7 +599,7 @@ function taxonomy_vocabulary_confirm_reset_alphabetical($form, &$form_state, $vi
   return confirm_form($form,
     t('Are you sure you want to reset the vocabulary %title to alphabetical order?',
       array('%title' => $vocabulary->label())),
-    'admin/structure/taxonomy/' . $vocabulary->id(),
+    'admin/structure/taxonomy/manage/' . $vocabulary->id(),
     t('Resetting a vocabulary will discard all custom ordering and sort items alphabetically.'),
     t('Reset to alphabetical'),
     t('Cancel'));
@@ -617,5 +617,5 @@ function taxonomy_vocabulary_confirm_reset_alphabetical_submit($form, &$form_sta
     ->execute();
   drupal_set_message(t('Reset vocabulary %name to alphabetical order.', array('%name' => $form_state['values']['name'])));
   watchdog('taxonomy', 'Reset vocabulary %name to alphabetical order.', array('%name' => $form_state['values']['name']), WATCHDOG_NOTICE);
-  $form_state['redirect'] = 'admin/structure/taxonomy/' . $form_state['values']['vid'];
+  $form_state['redirect'] = 'admin/structure/taxonomy/manage/' . $form_state['values']['vid'];
 }
diff --git a/core/modules/taxonomy/taxonomy.module b/core/modules/taxonomy/taxonomy.module
index 89f334b..1cec920 100644
--- a/core/modules/taxonomy/taxonomy.module
+++ b/core/modules/taxonomy/taxonomy.module
@@ -68,8 +68,8 @@ function taxonomy_help($path, $arg) {
     case 'admin/structure/taxonomy':
       $output = '<p>' . t('Taxonomy is for categorizing content. Terms are grouped into vocabularies. For example, a vocabulary called "Fruit" would contain the terms "Apple" and "Banana".') . '</p>';
       return $output;
-    case 'admin/structure/taxonomy/%':
-      $vocabulary = taxonomy_vocabulary_load($arg[3]);
+    case 'admin/structure/taxonomy/manage/%':
+      $vocabulary = taxonomy_vocabulary_load($arg[4]);
       switch ($vocabulary->hierarchy) {
         case TAXONOMY_HIERARCHY_DISABLED:
           return '<p>' . t('You can reorganize the terms in %capital_name using their drag-and-drop handles, and group terms under a parent term by sliding them under and to the right of the parent.', array('%capital_name' => drupal_ucfirst($vocabulary->name), '%name' => $vocabulary->name)) . '</p>';
@@ -326,35 +326,35 @@ function taxonomy_menu() {
     'file' => 'taxonomy.pages.inc',
   );
 
-  $items['admin/structure/taxonomy/%taxonomy_vocabulary'] = array(
+  $items['admin/structure/taxonomy/manage/%taxonomy_vocabulary'] = array(
     'title callback' => 'entity_page_label',
-    'title arguments' => array(3),
+    'title arguments' => array(4),
     'page callback' => 'drupal_get_form',
-    'page arguments' => array('taxonomy_overview_terms', 3),
+    'page arguments' => array('taxonomy_overview_terms', 4),
     'access callback' => 'entity_page_access',
-    'access arguments' => array(3, 'view'),
+    'access arguments' => array(4, 'view'),
     'file' => 'taxonomy.admin.inc',
   );
-  $items['admin/structure/taxonomy/%taxonomy_vocabulary/list'] = array(
+  $items['admin/structure/taxonomy/manage/%taxonomy_vocabulary/list'] = array(
     'title' => 'List',
     'type' => MENU_DEFAULT_LOCAL_TASK,
   );
-  $items['admin/structure/taxonomy/%taxonomy_vocabulary/edit'] = array(
+  $items['admin/structure/taxonomy/manage/%taxonomy_vocabulary/edit'] = array(
     'title' => 'Edit',
     'page callback' => 'entity_get_form',
-    'page arguments' => array(3),
+    'page arguments' => array(4),
     'access callback' => 'entity_page_access',
-    'access arguments' => array(3, 'update'),
+    'access arguments' => array(4, 'update'),
     'type' => MENU_LOCAL_TASK,
     'file' => 'taxonomy.admin.inc',
   );
 
-  $items['admin/structure/taxonomy/%taxonomy_vocabulary/add'] = array(
+  $items['admin/structure/taxonomy/manage/%taxonomy_vocabulary/add'] = array(
     'title' => 'Add term',
     'page callback' => 'taxonomy_term_add',
-    'page arguments' => array(3),
+    'page arguments' => array(4),
     'access callback' => 'taxonomy_term_create_access',
-    'access arguments' => array(3),
+    'access arguments' => array(4),
     'type' => MENU_LOCAL_ACTION,
     'file' => 'taxonomy.admin.inc',
   );
