diff --git a/inc/lektor/commands.h b/inc/lektor/commands.h
index 2d63d02d33b14295fc0746210d74999266ad38fa..ed1ec82f99299fac807c4b29a9d29d161c101bc3 100644
--- a/inc/lektor/commands.h
+++ b/inc/lektor/commands.h
@@ -9,6 +9,9 @@ extern "C" {
 #include <lektor/net.h>
 #include <lektor/database.h>
 
+/* NOTE: Not a callable command */
+bool command_set_pos(struct lkt_state *srv, int index);
+
 // clang-format off
 
 /* The list of commands implemented by lektor.
@@ -33,8 +36,6 @@ bool command_seek    (struct lkt_state *srv, size_t c, char *[LKT_MESSAGE_ARGS_M
 bool command_seekid  (struct lkt_state *srv, size_t c, char *[LKT_MESSAGE_ARGS_MAX]);
 bool command_seekcur (struct lkt_state *srv, size_t c, char *[LKT_MESSAGE_ARGS_MAX]);
 
-bool command_set_pos(struct lkt_state *srv, int index); /* FIXME: Not used in net/listen.c */
-
 /* The queue */
 bool command_add    (struct lkt_state *srv, char *[LKT_MESSAGE_ARGS_MAX], int priority);
 bool command_addid  (struct lkt_state *srv, size_t c, char *[LKT_MESSAGE_ARGS_MAX]);
@@ -65,14 +66,14 @@ bool command_queue_list  (struct lkt_state *srv, size_t c, char *[LKT_MESSAGE_AR
 bool command_queue_listid(struct lkt_state *srv, size_t c, char *[LKT_MESSAGE_ARGS_MAX]);
 
 /* The playlists */
-bool command_plt_create (struct lkt_state *srv, char *[LKT_MESSAGE_ARGS_MAX]);
-bool command_plt_remove (struct lkt_state *srv, char *[LKT_MESSAGE_ARGS_MAX]);
-bool command_plt_clear  (struct lkt_state *srv, char *[LKT_MESSAGE_ARGS_MAX]);
-bool command_plt_rename (struct lkt_state *srv, char *[LKT_MESSAGE_ARGS_MAX]);
-bool command_plt_export (struct lkt_state *srv, char *[LKT_MESSAGE_ARGS_MAX]);
-bool command_plt_import (struct lkt_state *srv, char *[LKT_MESSAGE_ARGS_MAX]);
-bool command_plt_add    (struct lkt_state *srv, char *[LKT_MESSAGE_ARGS_MAX]);
-bool command_plt_add_uri(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX]);
+bool command_plt_create (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX]);
+bool command_plt_remove (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX]);
+bool command_plt_clear  (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX]);
+bool command_plt_rename (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX]);
+bool command_plt_export (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX]);
+bool command_plt_import (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX]);
+bool command_plt_add    (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX]);
+bool command_plt_add_uri(struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX]);
 bool command_plt_list   (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX], int cont);
 bool command_plt_ctx    (struct lkt_state *srv, size_t, char *[LKT_MESSAGE_ARGS_MAX], int cont);
 
diff --git a/inc/lektor/internal/commands.def b/inc/lektor/internal/commands.def
index 5fc2e22f287db254325dbf49849dbaf5c49a2b12..5999becbeedbbb75b1ba143552cbbf66f888c4fb 100644
--- a/inc/lektor/internal/commands.def
+++ b/inc/lektor/internal/commands.def
@@ -32,14 +32,14 @@ mpd_command("playlistid",        command_queue_listid,     SIMPLE)
 mpd_command("playlist",          command_queue_list,       SIMPLE)
 mpd_command("playlistinfo",      command_queue_list,       SIMPLE)
 
-mpd_command("playlistclear",     command_plt_clear,        ANON)
-mpd_command("rename",            command_plt_rename,       ANON)
-mpd_command("playlistdelete",    command_plt_remove,       ANON)
-mpd_command("rm",                command_plt_remove,       ANON)
-mpd_command("playlistadd",       command_plt_add,          ANON)
-mpd_command("save",              command_plt_export,       ANON)
-mpd_command("__plt_import",      command_plt_import,       ANON)
-mpd_command("__dump",            command_dump,             ANON)
+mpd_command("playlistclear",     command_plt_clear,        SIMPLE)
+mpd_command("rename",            command_plt_rename,       SIMPLE)
+mpd_command("playlistdelete",    command_plt_remove,       SIMPLE)
+mpd_command("rm",                command_plt_remove,       SIMPLE)
+mpd_command("playlistadd",       command_plt_add,          SIMPLE)
+mpd_command("save",              command_plt_export,       SIMPLE)
+mpd_command("__plt_import",      command_plt_import,       SIMPLE)
+mpd_command("__dump",            command_dump,             SIMPLE)
 mpd_command("listplaylists",     command_plt_list,         CONTINUATION)
 mpd_command("listplaylist",      command_plt_ctx,          CONTINUATION)
 mpd_command("sticker",           command_sticker_handle,   SIMPLE)
diff --git a/src/base/commands.c b/src/base/commands.c
index 7a6f8c0a88dbded2fd18cd39271f572181cafa8b..cdfabdbb24a8159bf65a4a5bdee6320d8ff60347 100644
--- a/src/base/commands.c
+++ b/src/base/commands.c
@@ -897,7 +897,7 @@ command_seekcur(struct lkt_state *srv, UNUSED size_t c, char *args[LKT_MESSAGE_A
 }
 
 bool
-command_plt_add(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
+command_plt_add(struct lkt_state *srv, size_t UNUSED c, char *args[LKT_MESSAGE_ARGS_MAX])
 {
     RETURN_UNLESS(args && args[0], "Invalid argument", false);
     bool ret = false;
@@ -929,7 +929,7 @@ command_plt_add(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
 }
 
 bool
-command_plt_remove(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
+command_plt_remove(struct lkt_state *srv, size_t UNUSED c, char *args[LKT_MESSAGE_ARGS_MAX])
 {
     RETURN_UNLESS(args && args[0], "Invalid argument", false);
     char *endptr = NULL, err;
@@ -947,7 +947,7 @@ command_plt_remove(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
 }
 
 bool
-command_plt_clear(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
+command_plt_clear(struct lkt_state *srv, size_t UNUSED c, char *args[LKT_MESSAGE_ARGS_MAX])
 {
     RETURN_UNLESS(args && args[0], "Invalid argument", false);
     RETURN_UNLESS(database_plt_clear(srv->db, args[0]), "Failed to clear playlist", false);
@@ -956,7 +956,7 @@ command_plt_clear(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
 }
 
 bool
-command_plt_rename(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
+command_plt_rename(struct lkt_state *srv, size_t UNUSED c, char *args[LKT_MESSAGE_ARGS_MAX])
 {
     RETURN_UNLESS(args && args[0] && args[1], "Invalid argument", false);
     RETURN_UNLESS(database_plt_rename(srv->db, args[0], args[1]), "Failed to rename playlist",
@@ -966,7 +966,7 @@ command_plt_rename(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
 }
 
 bool
-command_plt_export(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
+command_plt_export(struct lkt_state *srv, size_t UNUSED c, char *args[LKT_MESSAGE_ARGS_MAX])
 {
     RETURN_UNLESS(args && args[0] && args[1], "Invalid argument", false);
     RETURN_UNLESS(database_attach(srv->db, args[0], args[1]), "Failed to attach database", false);
@@ -978,7 +978,7 @@ command_plt_export(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
 }
 
 bool
-command_plt_import(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
+command_plt_import(struct lkt_state *srv, size_t UNUSED c, char *args[LKT_MESSAGE_ARGS_MAX])
 {
     RETURN_UNLESS(args && args[0] && args[1], "Invalid argument", false);
     RETURN_UNLESS(database_attach(srv->db, args[0], args[1]), "Failed to attach database", false);
@@ -990,7 +990,7 @@ command_plt_import(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
 }
 
 bool
-command_plt_add_uri(struct lkt_state *srv, char *args[LKT_MESSAGE_ARGS_MAX])
+command_plt_add_uri(struct lkt_state *srv, size_t UNUSED c, char *args[LKT_MESSAGE_ARGS_MAX])
 {
     RETURN_UNLESS(args && args[0] && args[1], "Invalid argument", false);
     struct lkt_uri *uri = lkt_uri_new();
diff --git a/src/net/listen.c b/src/net/listen.c
index 8b51959babeec315475bb38255b532670df1cf3e..a0d73da9b3af9d1495e6d3535abb082c29027384 100644
--- a/src/net/listen.c
+++ b/src/net/listen.c
@@ -27,7 +27,6 @@ typedef enum {
     LKT_COMMAND_NULL,         /* Not a terminal node, so no commands  */
     LKT_COMMAND_SIMPLE,       /* srv, c, args                         */
     LKT_COMMAND_CONTINUATION, /* srv, c, args, int                    */
-    LKT_COMMAND_ANON,         /* srv, args                            */
 } LKT_COMMAND_TYPE;
 
 struct cmd_trie_node {
@@ -144,7 +143,6 @@ ___cmd_trie_print(struct cmd_trie_node *root, char *old_prefix, const size_t len
 
     /* A terminal node */
     case LKT_COMMAND_SIMPLE:
-    case LKT_COMMAND_ANON:
     case LKT_COMMAND_CONTINUATION:
         LKT_OUTPUT("CMD_TRIE", "Got function of type %d in trie '%s'", root->type, prefix);
         break;
@@ -324,9 +322,6 @@ handle_simple_command(struct lkt_state *srv, size_t c, struct lkt_command cmd)
             /* Basic command */
             case LKT_COMMAND_SIMPLE: err = !handle_function.simple(srv, c, cmd.args); break;
 
-            /* Anonymous client command */
-            case LKT_COMMAND_ANON: err = !handle_function.anon(srv, cmd.args); break;
-
             /* Need the continuation */
             case LKT_COMMAND_CONTINUATION:
                 err = (int)(!handle_function.integer(srv, c, cmd.args, (int)cmd.cont));