diff --git a/src/http-mserv.c b/src/http-mserv.c
index 1e8d35648c1a0d7b0b258073ec1d6f2314700b36..a7682718418014f6f52b46813cb0a91d2f500c3d 100644
--- a/src/http-mserv.c
+++ b/src/http-mserv.c
@@ -472,6 +472,7 @@ HMS_list_servers (void)
 {
 	struct HMS_buffer *hms;
 
+	char *list;
 	char *p;
 
 	hms = HMS_connect("servers");
@@ -481,11 +482,17 @@ HMS_list_servers (void)
 
 	if (HMS_do(hms))
 	{
-		p = &hms->buffer[strlen(hms->buffer)];
-		while (*--p == '\n')
-			;
+		list = curl_easy_unescape(hms->curl, hms->buffer, 0, NULL);
 
-		CONS_Printf("%s\n", hms->buffer);
+		p = strtok(list, "\n");
+
+		while (p != NULL)
+		{
+			CONS_Printf("\x80%s\n", p);
+			p = strtok(NULL, "\n");
+		}
+
+		curl_free(list);
 	}
 
 	HMS_end(hms);