diff --git a/src/main/lkt.c b/src/main/lkt.c
index 5494caa6f2f802552726578bb44ed974cca0eb92..0d27efe2ffa2c65e391b3e78eeac39d3f6e5012b 100644
--- a/src/main/lkt.c
+++ b/src/main/lkt.c
@@ -80,7 +80,6 @@ read_socket(FILE *sock, char *buff, size_t max_len)
     size_t i, len;
     for (i = 0; i < max_len; ++i) {
         len = fread(buff + i, sizeof(char), 1, sock);
-
         if (buff[i] == '\n' || len != 1)
             return i;
     }
@@ -134,8 +133,8 @@ create_socket(const char *host, const char *port)
     if (cx <= 0 || connect(cx, &sock, sock_len))
         exit(EXIT_FAILURE);
 
-    assert(socket_desc = fdopen(cx, "r+"));
-
+    socket_desc = fdopen(cx, "r+");
+    fail_if(!socket_desc, "Failed to connect to lektord");
     return socket_desc;
 }
 
@@ -148,8 +147,7 @@ lkt_connect(void)
     FILE *sock = create_socket(host, port);
     recv_len = read_socket(sock, buff, LKT_MESSAGE_MAX);
 
-    assert(recv_len > 0);
-
+    fail_if(recv_len == 0, "Failed to connect to lektord");
     return sock;
 }
 
@@ -162,6 +160,20 @@ lkt_skip_key(char *buffer)
     return ret + len;
 }
 
+static inline void
+send_cmd_with_uri(FILE *sock, char *cmd, int argc, const char **argv)
+{
+    int i;
+    char buf[LKT_MESSAGE_MAX] = {0};
+    for (i = 1; i < argc - 1; ++i) {
+        strncat(buf, argv[i], LKT_MESSAGE_MAX - 1);
+        strncat(buf, " ", LKT_MESSAGE_MAX - 1);
+    }
+    strncat(buf, argv[i], LKT_MESSAGE_MAX - 1);
+    strncat(buf, "\n", LKT_MESSAGE_MAX - 1);
+    (void) write_socket_format(sock, "%s %s://%s", cmd, argv[0], buf);
+}
+
 /* Functions implementing options. */
 
 #define just_send(func, msg) /* Just send a simple string functions */  \
@@ -407,7 +419,8 @@ queue_pop__(struct lkt_cmd_args *args)
     sock = lkt_connect();
     if (!songid)
         goto error;
-    exit(write_socket_format(sock, "next\ndeleteid %d\n", songid));
+    write_socket_format(sock, "next\ndeleteid %d\n", songid);
+    exit_with_status(sock, buff);
 error:
     exit(EXIT_FAILURE);
 }
@@ -509,20 +522,6 @@ queue_delete__(struct lkt_cmd_args *args)
     fail("Invalid argument");
 }
 
-static inline void
-send_cmd_with_uri(FILE *sock, char *cmd, int argc, const char **argv)
-{
-    int i;
-    char buf[LKT_MESSAGE_MAX] = {0};
-    for (i = 1; i < argc - 1; ++i) {
-        strncat(buf, argv[i], LKT_MESSAGE_MAX - 1);
-        strncat(buf, " ", LKT_MESSAGE_MAX - 1);
-    }
-    strncat(buf, argv[i], LKT_MESSAGE_MAX - 1);
-    strncat(buf, "\n", LKT_MESSAGE_MAX - 1);
-    (void) write_socket_format(sock, "%s %s://%s", cmd, argv[0], buf);
-}
-
 noreturn void
 queue_add__(struct lkt_cmd_args *args)
 {
@@ -678,27 +677,11 @@ queue_list__(struct lkt_cmd_args *args)
 noreturn void
 plt_add__(struct lkt_cmd_args *args)
 {
-    int i;
     char buff[2];
     FILE *sock = lkt_connect();
-
     fail_if(args->argc < 3,                 "Invalid argument, need at least three arguments: plt add <plt> <query>");
     fail_if(!lkt_valid_type(args->argv[1]), "Invalid argument, type for the query is invalid");
-
-    (void) write_socket(sock, "playlistadd ", strlen("playlistadd "));
-    (void) write_socket(sock, args->argv[0], strlen(args->argv[0]));
-    (void) write_socket(sock, " ", sizeof(char));
-    (void) write_socket(sock, args->argv[1], strlen(args->argv[1]));
-    (void) write_socket(sock, "://", 3 * sizeof(char));
-
-    for (i = 2; i < args->argc - 1; ++i) {
-        (void) write_socket(sock, args->argv[i], strlen(args->argv[i]));
-        (void) write_socket(sock, " ", sizeof(char));
-    }
-
-    /* Here we have `i == argc - 1`. */
-    (void) write_socket(sock, args->argv[i], strlen(args->argv[i]));
-    (void) write_socket(sock, "\n", sizeof(char));
+    send_cmd_with_uri(sock, "playlistadd", args->argc, args->argv);
     exit_with_status(sock, buff);
 }
 
@@ -707,22 +690,8 @@ plt_delete__(struct lkt_cmd_args *args)
 {
     FILE *sock = lkt_connect();
     char buff[2];
-    int i;
-
     fail_if(args->argc < 1, "Invalid argument");
-
-    (void) write_socket(sock, "playlistdelete ", strlen("playlistdelete "));
-    (void) write_socket(sock, args->argv[0], strlen(args->argv[0]));
-    (void) write_socket(sock, " ", sizeof(char));
-
-    for (i = 1; i < args->argc - 1; ++i) {
-        (void) write_socket(sock, args->argv[i], strlen(args->argv[i]));
-        (void) write_socket(sock, " ", sizeof(char));
-    }
-
-    /* Here we have `i == argc - 1`. */
-    (void) write_socket(sock, args->argv[i], strlen(args->argv[i]));
-    (void) write_socket(sock, "\n", sizeof(char));
+    send_cmd_with_uri(sock, "playlistdelete", args->argc, args->argv);
     exit_with_status(sock, buff);
 }
 
@@ -730,14 +699,9 @@ noreturn void
 plt_destroy__(struct lkt_cmd_args *args)
 {
     fail_if(args->argc != 1, "Invalid argument");
-
     FILE *sock = lkt_connect();
     char buff[2];
-    const char *name = args->argv[0];
-
-    (void) write_socket(sock, "rm ", 3 * sizeof(char));
-    (void) write_socket(sock, name, strlen(name));
-    (void) write_socket(sock, "\n", sizeof(char));
+    write_socket_format(sock, "rm %s\n", args->argv[0]);
     exit_with_status(sock, buff);
 }
 
@@ -748,11 +712,7 @@ plt_create__(struct lkt_cmd_args *args)
 
     FILE *sock = lkt_connect();
     char buff[2];
-    const char *name = args->argv[0];
-
-    (void) write_socket(sock, "playlistadd ", strlen("playlistadd "));
-    (void) write_socket(sock, name, strlen(name));
-    (void) write_socket(sock, "\n", sizeof(char));
+    write_socket_format(sock, "playlistadd %s\n", args->argv[0]);
     exit_with_status(sock, buff);
 }
 
@@ -914,16 +874,12 @@ parse_args(args_t *args, int argc, const char **argv)
     args->argc = argc - (got + 1);
 }
 
-/* Functions that make a command happen on lektor. */
-
-/* Playlist functions. */
-
 int
 main(int argc, const char **argv)
 {
     executable_name = "lkt";
-    assert(NULL != setlocale(LC_ALL, "en_US.UTF-8"));   /* BECAUSE!         */
-    assert(!signal(SIGPIPE, sigpipe__));                /* Argument checks. */
+    assert(NULL != setlocale(LC_ALL, "en_US.UTF-8"));   /* BECAUSE! */
+    assert(!signal(SIGPIPE, sigpipe__));
 
     args_t args = {
         .host = "localhost",