--- ../dovecot-1.0.0-clean/src/imap/cmd-list.c	2007-03-27 23:30:17.000000000 +0200
+++ src/imap/cmd-list.c	2007-04-24 11:21:06.000000000 +0200
@@ -464,7 +464,7 @@
 		return TRUE;
 	}
 
-	if (*mask == '\0' && !lsub) {
+	if (*mask == '\0') {
 		const char *ns_prefix;
 
 		/* special request to return the hierarchy delimiter and
@@ -491,8 +491,8 @@
 		if (ns != NULL) {
 			string_t *str = t_str_new(64);
 
-			str_printfa(str, "* LIST (\\Noselect) \"%s\" ",
-				    ns->sep_str);
+			str_printfa(str, "* %s (\\Noselect) \"%s\" ",
+				    !lsub ? "LIST" : "LSUB", ns->sep_str);
 			if (*ns_prefix != '\0' && !ns->hidden) {
 				/* public namespace, use it as the root name */
 				imap_quote_append_string(str, ns_prefix, FALSE);
@@ -512,7 +512,9 @@
 			}
 			client_send_line(client, str_c(str));
 		}
-		client_send_tagline(cmd, "OK List completed.");
+		client_send_tagline(cmd, !lsub ?
+				    "OK List completed." :
+				    "OK Lsub completed.");
 	} else {
 		ctx = p_new(cmd->pool, struct cmd_list_context, 1);
 		ctx->ref = ref;
