diff --git a/src/protocol/common.c b/src/protocol/common.c
index f3f1bb284..d4d2de5a5 100644
--- a/src/protocol/common.c
+++ b/src/protocol/common.c
@@ -63,7 +63,7 @@ init_directory_listing(struct string *page, struct uri *uri)
 	    && !add_char_to_string(&dirpath, local ? CHAR_DIR_SEP : '/'))
 		goto out_of_memory;
 
-	if (local || uri->protocol == PROTOCOL_GOPHER) {
+	if (local || uri->protocol == PROTOCOL_GOPHER || uri->protocol == PROTOCOL_SMB) {
 		/* A little hack to get readable Gopher names. We should find a
 		 * way to do it more general. */
 		decode_uri_string(&dirpath);