diff --git a/required/custom_breadcrumbs/custom_breadcrumbs.module b/required/custom_breadcrumbs/custom_breadcrumbs.module
index ab78203..2790485 100644
--- a/required/custom_breadcrumbs/custom_breadcrumbs.module
+++ b/required/custom_breadcrumbs/custom_breadcrumbs.module
@@ -43,40 +43,56 @@ function custom_breadcrumbs_perm() {
   return array('administer custom breadcrumbs', 'use php in custom breadcrumbs');
 }
 
+function custom_breadcrumbs_form_alter($form) {
+  if ($form['#id'] == 'node-form') {
+    $node = $form['#node'];
+    if ($breadcrumb = _custom_breadcrumbs_load_for_type($node)) {
+      _custom_breadcrumbs_set_breadcrumb($breadcrumb,$node,true);
+    }
+  }
+}
+
 function custom_breadcrumbs_nodeapi($node, $op, $teaser, $page) {
   if ($op == 'alter' && !$teaser && $page) {
     if ($breadcrumb = _custom_breadcrumbs_load_for_type($node)) {
-      $titles = preg_split("/[\n]+/", $breadcrumb->titles);
-      $paths = preg_split("/[\n]+/", $breadcrumb->paths);
-
-      $titles = module_exists('token') ? token_replace($titles, 'node', $node) : $titles;
-      $paths = module_exists('token') ? token_replace($paths, 'node', $node) : $paths;
-
-      $trail = array(l(t('Home'), '<front>'));
-      $location = array();
-      for ($i = 0; $i < count($titles); $i++) {
-        // Skip empty titles
-        if ($title = trim($titles[$i])) {
-          // Output plaintext instead of a link if there is a title without a path.
-          $path = trim($paths[$i]);
-          if (strlen($path) > 0 && $path != '<none>') {
-            $trail[] = l($title, trim($paths[$i]));
-            $location[$i] = menu_get_item(drupal_get_normal_path($paths[$i]));          }
-          else {
-            $trail[] = check_plain($title);
-          }
-        }
-      }
-      drupal_set_breadcrumb($trail);
-      if ($breadcrumb->set_active_menu) {
-        $location[] = menu_get_item();
-        menu_set_active_trail($location);
-      }
+      _custom_breadcrumbs_set_breadcrumb($breadcrumb,$node);
     }
   }
 
 }
 
+function _custom_breadcrumbs_set_breadcrumb($breadcrumb, $node, $show_self = false) {
+  $titles = preg_split("/[\n]+/", $breadcrumb->titles);
+  $paths = preg_split("/[\n]+/", $breadcrumb->paths);
+
+  $titles = module_exists('token') ? token_replace($titles, 'node', $node) : $titles;
+  $paths = module_exists('token') ? token_replace($paths, 'node', $node) : $paths;
+
+  $trail = array(l(t('Home'), '<front>'));
+  $location = array();
+  for ($i = 0; $i < count($titles); $i++) {
+    // Skip empty titles
+    if ($title = trim($titles[$i])) {
+      // Output plaintext instead of a link if there is a title without a path.
+      $path = trim($paths[$i]);
+      if (strlen($path) > 0 && $path != '<none>') {
+        $trail[] = l($title, trim($paths[$i]));
+        $location[$i] = menu_get_item(drupal_get_normal_path($paths[$i]));          }
+      else {
+        $trail[] = check_plain($title);
+      }
+    }
+  }
+  if ($show_self) {
+    $trail[] = l($node->title, sprintf('node/%d',$node->nid));
+  }
+  drupal_set_breadcrumb($trail);
+  if ($breadcrumb->set_active_menu) {
+    $location[] = menu_get_item();
+    menu_set_active_trail($location);
+  }
+}
+
 function _custom_breadcrumbs_load_breadcrumb($bid) {
   $sql = 'SELECT * FROM {custom_breadcrumb} WHERE bid = %d';
   $result = db_query($sql, $bid);
