diff --git a/core/modules/taxonomy/src/TermBreadcrumbBuilder.php b/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
index 7c4cc89..4f8d73b 100644
--- a/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
+++ b/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
@@ -17,6 +17,7 @@
  * Provides a custom taxonomy breadcrumb builder that uses the term hierarchy.
  */
 class TermBreadcrumbBuilder implements BreadcrumbBuilderInterface {
+
   use StringTranslationTrait;
 
   /**
@@ -48,8 +49,11 @@ public function __construct(EntityManagerInterface $entityManager) {
    * {@inheritdoc}
    */
   public function applies(RouteMatchInterface $route_match) {
-    return $route_match->getRouteName() == 'entity.taxonomy_term.canonical'
-      && $route_match->getParameter('taxonomy_term') instanceof TermInterface;
+    return in_array($route_match->getRouteName(), array(
+          'entity.taxonomy_term.canonical',
+          'entity.taxonomy_term.edit_form',
+          'entity.taxonomy_term.delete_form',
+        )) && $route_match->getParameter('taxonomy_term') instanceof TermInterface;
   }
 
   /**
@@ -61,14 +65,22 @@ public function build(RouteMatchInterface $route_match) {
     //   hard-coded presumption. Make this behavior configurable per
     //   vocabulary or term.
     $breadcrumb = array();
-    while ($parents = $this->termStorage->loadParents($term->id())) {
-      $term = array_shift($parents);
+    if (in_array($route_match->getRouteName(), array(
+          'entity.taxonomy_term.edit_form',
+          'entity.taxonomy_term.delete_form',
+        ))) {
       $term = $this->entityManager->getTranslationFromContext($term);
-      $breadcrumb[] = Link::createFromRoute($term->getName(), 'entity.taxonomy_term.canonical', array('taxonomy_term' => $term->id()));
+      $breadcrumb[] = Link::createFromRoute($term->getName(), $route_match->getRouteName(), array('taxonomy_term' => $term->id()));
+    }
+    else {
+      while ($parents = $this->termStorage->loadParents($term->id())) {
+        $term = array_shift($parents);
+        $term = $this->entityManager->getTranslationFromContext($term);
+        $breadcrumb[] = Link::createFromRoute($term->getName(), $route_match->getRouteName(), array('taxonomy_term' => $term->id()));
+      }
     }
     $breadcrumb[] = Link::createFromRoute($this->t('Home'), '<front>');
     $breadcrumb = array_reverse($breadcrumb);
-
     return $breadcrumb;
   }
 
diff --git a/core/modules/taxonomy/src/Tests/TermTest.php b/core/modules/taxonomy/src/Tests/TermTest.php
index eaa0617..45d963d 100644
--- a/core/modules/taxonomy/src/Tests/TermTest.php
+++ b/core/modules/taxonomy/src/Tests/TermTest.php
@@ -10,6 +10,7 @@
 use Drupal\Component\Utility\Tags;
 use Drupal\Component\Utility\Unicode;
 use Drupal\Core\Field\FieldStorageDefinitionInterface;
+use Drupal\Core\Url;
 use Drupal\field\Entity\FieldConfig;
 use Drupal\taxonomy\Entity\Term;
 use Drupal\taxonomy\Entity\Vocabulary;
@@ -295,8 +296,8 @@ function testTermInterface() {
 
     // Create the term to edit.
     $this->drupalPostForm('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add', $edit, t('Save'));
-
     $terms = taxonomy_term_load_multiple_by_name($edit['name[0][value]']);
+    /** @var \Drupal\taxonomy\TermInterface $term */
     $term = reset($terms);
     $this->assertNotNull($term, 'Term found in database.');
 
@@ -307,7 +308,8 @@ function testTermInterface() {
     // Because Simpletest creates its own database when running tests, we know
     // the first edit link found on the listing page is to our term.
     $this->clickLink(t('Edit'), 1);
-
+    $this->assertLink($term->label());
+    $this->assertLinkByHref($term->url());
     $this->assertRaw($edit['name[0][value]'], 'The randomly generated term name is present.');
     $this->assertText($edit['description[0][value]'], 'The randomly generated term description is present.');
 
@@ -353,6 +355,8 @@ function testTermInterface() {
     // Delete the term.
     $this->drupalGet('taxonomy/term/' . $term->id() . '/edit');
     $this->clickLink(t('Delete'));
+    $this->assertLink($term->label());
+    $this->assertLinkByHref($term->url());
     $this->drupalPostForm(NULL, NULL, t('Delete'));
 
     // Assert that the term no longer exists.
