--- image_gallery.module	2008-04-02 12:26:58.000000000 +0200
+++ image_gallery.new.module	2008-04-02 12:51:12.000000000 +0200
@@ -77,6 +77,18 @@
     '#default_value' => variable_get('image_gallery_node_info', 0),
     '#description' => t("Checking this will display the \"Posted by\" node information on the gallery pages."),
   );
+  $form['gallery']['image_gallery_breadcrumb_append_title'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Append gallery title to breadcrumb'),
+    '#description' => t('Choose whether or not the gallery title should be included in the breadcrumb.'),
+    '#default_value' => variable_get('image_gallery_breadcrumb_append_title', 0),
+  );
+  $form['gallery']['image_gallery_breadcrumb_append_url'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Appended gallery title as an URL.'),
+    '#description' => t('Choose whether or not the appended gallery title should be an URL.'),
+    '#default_value' => variable_get('image_gallery_breadcrumb_append_url', 0),
+  );
 
   return system_settings_form($form);
 }
@@ -149,14 +161,25 @@
     }
 
     $gallery = taxonomy_get_term($tid);
-    $parents = taxonomy_get_parents($tid);
+    $parents = taxonomy_get_parents_all($tid);
 
     $breadcrumb = array();
     $breadcrumb[] = l(t('Home'), NULL);
     $breadcrumb[] = l(t('Image galleries'), 'image');
+    $parents = array_reverse($parents);
     foreach ($parents as $parent) {
       // Add parents to breadcrumb navigation
-      $breadcrumb[] = l($parent->name, 'image/tid/'. $parent->tid);
+      if ($tid != $parent->tid) {
+        $breadcrumb[] = l($parent->name, 'image/tid/'. $parent->tid);
+      }
+      else if (variable_get('image_gallery_breadcrumb_append_title', 0) == 1) {
+        if (variable_get('image_gallery_breadcrumb_append_url', 0) == 1) {
+          $breadcrumb[] = l($parent->name, 'image/tid/'. $parent->tid);
+        }
+        else {
+          $breadcrumb[] = $parent->name;
+        }
+      }
     }
     drupal_set_breadcrumb($breadcrumb);
     drupal_set_title($gallery->name);
