Check this out: * OK medusa.kfu.com Cyrus IMAP4 v2.0.15-HIERSEP-r2 server ready . login user testcase . OK User logged in . list * * * LIST (\Noinferiors) "/" "INBOX" * LIST () "/" "Drafts" * LIST () "/" "Sent" * LIST () "/" "Templates" * LIST () "/" "Trash" * LIST () "/" "amanda" * LIST () "/" "archive/20010428" * LIST () "/" "archive/certificates" * LIST () "/" "archive/enlighten-inbox" * LIST () "/" "archive/ladybugs" * LIST () "/" "archive/old" * LIST () "/" "archive/older" * LIST () "/" "archive/orders" * LIST () "/" "archive/passwords" * LIST () "/" "archive/purchases" * LIST () "/" "archive/wrinkles" * LIST () "/" "cron-stools" * LIST () "/" "lists/6bone" * LIST () "/" "lists/airport-config" * LIST () "/" "lists/bestos" * LIST () "/" "lists/bzflag-dev" * LIST () "/" "lists/dcti" [and so on and so on] . OK Completed (0.000 secs 42 calls) . lsub * * * LSUB (\Noinferiors) "/" "INBOX" * LSUB () "/" "Drafts" * LSUB () "/" "Sent" * LSUB () "/" "Templates" * LSUB () "/" "Trash" * LSUB () "/" "amanda" * LSUB () "/" "archive/20010428" * LSUB () "/" "archive/certificates" * LSUB () "/" "archive/enlighten-inbox" * LSUB () "/" "archive/ladybugs" * LSUB () "/" "archive/old" * LSUB () "/" "archive/older" * LSUB () "/" "archive/orders" * LSUB () "/" "archive/passwords" * LSUB () "/" "archive/purchases" * LSUB () "/" "archive/wrinkles" * LSUB () "/" "cron-stools" * LSUB () "/" "lists/6bone" * LSUB () "/" "lists/airport-config" * LSUB () "/" "lists/bestos" * LSUB () "/" "lists/bzflag-dev" * LSUB () "/" "lists/dcti" [and so on and so on] . OK Completed (0.000 secs 42 calls) Ok. So we have a nice, full hierarchy, most of which is subscribed. With me so far? Now the bug: . create abra/cadabra . OK Completed . subscribe abra/cadabra . OK Completed . lsub * * * LSUB (\Noinferiors) "/" "INBOX" * LSUB () "/" "Drafts" * LSUB () "/" "Sent" * LSUB () "/" "Templates" * LSUB () "/" "Trash" * LSUB () "/" "abra/cadabra" * LSUB () "/" "amanda" * LSUB () "/" "archive/20010428" * LSUB () "/" "archive/certificates" * LSUB () "/" "archive/enlighten-inbox" * LSUB () "/" "archive/ladybugs" * LSUB () "/" "archive/old" * LSUB () "/" "archive/older" * LSUB () "/" "archive/orders" * LSUB () "/" "archive/passwords" * LSUB () "/" "archive/purchases" * LSUB () "/" "archive/wrinkles" * LSUB () "/" "cron-stools" * LSUB () "/" "lists/6bone" * LSUB () "/" "lists/airport-config" * LSUB () "/" "lists/bestos" * LSUB () "/" "lists/bzflag-dev" * LSUB () "/" "lists/dcti" [and so on and so on] . OK Completed (0.016 secs 43 calls) So far so good. . delete abra/cadabra . OK Completed . lsub * * * LSUB (\Noinferiors) "/" "INBOX" * LSUB () "/" "Drafts" * LSUB () "/" "Sent" * LSUB () "/" "Templates" * LSUB () "/" "Trash" . OK Completed (0.000 secs 6 calls) Woah! The subscription list is (almost) gone! . unsubscribe abra/cadabra . OK Completed . lsub * * * LSUB (\Noinferiors) "/" "INBOX" * LSUB () "/" "Drafts" * LSUB () "/" "Sent" * LSUB () "/" "Templates" * LSUB () "/" "Trash" * LSUB () "/" "amanda" * LSUB () "/" "archive/20010428" * LSUB () "/" "archive/certificates" * LSUB () "/" "archive/enlighten-inbox" * LSUB () "/" "archive/ladybugs" * LSUB () "/" "archive/old" * LSUB () "/" "archive/older" * LSUB () "/" "archive/orders" * LSUB () "/" "archive/passwords" * LSUB () "/" "archive/purchases" * LSUB () "/" "archive/wrinkles" * LSUB () "/" "cron-stools" * LSUB () "/" "lists/6bone" * LSUB () "/" "lists/airport-config" * LSUB () "/" "lists/bestos" * LSUB () "/" "lists/bzflag-dev" * LSUB () "/" "lists/dcti" [and so on and so on] . OK Completed (0.008 secs 42 calls) Oh! There it is! So the bug is a two-parter. 1. Deleting a subscribed mailbox does not automatically unsubscribe oneself from it. 2. Extra entries in the ...user/f/foo.sub file that corespond to nonexistent mailboxes causes the LSUB output to truncate at that spot. This is the case whether or not the unix hierachy character is set. I don't know if it's the case if I turn off alternate namespace (I don't want to do that).