diff --git a/core/modules/taxonomy/src/TermBreadcrumbBuilder.php b/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
index 307170a..6994acb 100644
--- a/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
+++ b/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
@@ -23,6 +23,8 @@ class TermBreadcrumbBuilder implements BreadcrumbBuilderInterface {
    */
   public function applies(RouteMatchInterface $route_match) {
     return $route_match->getRouteName() == 'entity.taxonomy_term.canonical'
+      || $route_match->getRouteName() == 'entity.taxonomy_term.edit_form'
+      || $route_match->getRouteName() == 'entity.taxonomy_term.delete_form'
       && $route_match->getParameter('taxonomy_term') instanceof TermInterface;
   }
 
@@ -35,8 +37,13 @@ public function build(RouteMatchInterface $route_match) {
     //   hard-coded presumption. Make this behavior configurable per
     //   vocabulary or term.
     $breadcrumb = array();
-    while ($parents = taxonomy_term_load_parents($term->id())) {
-      $term = array_shift($parents);
+    if ($route_match->getRouteName() == 'entity.taxonomy_term.canonical' ) {
+      while ($parents = taxonomy_term_load_parents($term->id())) {
+        $term = array_shift($parents);
+        $breadcrumb[] = Link::createFromRoute($term->getName(), 'entity.taxonomy_term.canonical', array('taxonomy_term' => $term->id()));
+      }
+    }
+    elseif ($route_match->getRouteName() == 'entity.taxonomy_term.edit_form' || $route_match->getRouteName() == 'entity.taxonomy_term.delete_form') {
       $breadcrumb[] = Link::createFromRoute($term->getName(), 'entity.taxonomy_term.canonical', array('taxonomy_term' => $term->id()));
     }
     $breadcrumb[] = Link::createFromRoute($this->t('Home'), '<front>');
@@ -45,4 +52,4 @@ public function build(RouteMatchInterface $route_match) {
     return $breadcrumb;
   }
 
-}
+}
\ No newline at end of file
