--- glossary.module	(.../tags/glossary-4.5.0)	(revision 81)
+++ glossary.module	(.../glossary)	(revision 81)
@@ -306,7 +306,7 @@
   sort($letters);
   foreach ($letters as $letter) {
     if ($found_letters[$letter]) {
-      $links[] = l($letter, 'glossary/'.$vid, NULL, NULL, 'letter' . $letter);
+      $links[] = l($letter, 'glossary/' . $vid . '/letter/' . $letter);
     } 
     else {
       $links[] = $letter;
@@ -323,11 +323,23 @@
 function glossary_overview($vid) {
   $tree = taxonomy_get_tree($vid);
   $output = _glossary_alphabar($vid, $tree);
+  $letter = arg(3);
+  if (strlen($letter) == 0) {
+    foreach ($tree as $term) {
+      if (isset($term->firstletter)) {
+        $letter = $term->firstletter;
+        break;
+      }
+    }
+  }
   if ($tree) {
     foreach ($tree as $term) {
       if (isset($term->firstletter)) {
           $output .= "<a id=\"letter". $term->firstletter ."\"></a>\n";
       }
+      if (strtolower($term->name[0]) != $letter) {
+        continue;
+      }
       $output .= "<a id=\"term{$term->tid}\"></a>\n". 
                  "<dl class=\"glossary-list\" style=\"margin-left:". ($term->depth * 15) ."px;\">\n";
       $output .= "<dt>{$term->name}";
