diff --git a/core/modules/taxonomy/src/TermBreadcrumbBuilder.php b/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
index 307170a..eb99cf3 100644
--- a/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
+++ b/core/modules/taxonomy/src/TermBreadcrumbBuilder.php
@@ -22,7 +22,9 @@ class TermBreadcrumbBuilder implements BreadcrumbBuilderInterface {
    * {@inheritdoc}
    */
   public function applies(RouteMatchInterface $route_match) {
-    return $route_match->getRouteName() == 'entity.taxonomy_term.canonical'
+    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,14 +37,20 @@ 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>');
     $breadcrumb = array_reverse($breadcrumb);
 
     return $breadcrumb;
   }
 
-}
+}
\ No newline at end of file
