diff --git a/src/commands.c b/src/commands.c
index 7250628fbcc7eb9736744ee1da43d8f6808d4eb2..92f63810f3b300e1f3d8bcba16a3b6742c1e0daf 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -464,6 +464,7 @@ command_find(struct lkt_state *srv, size_t c, char *args[LKT_MESSAGE_ARGS_MAX],
     else
         LOG_WARN("COMMAND", "%s", "Nothing found");
 
+    lkt_uri_free(&search.ka_uri);
     return true;
 }
 
diff --git a/src/main/lkt.c b/src/main/lkt.c
index 85c1f9844edce0137a8b622095a151efa9445869..29390aa146aaf2043c02012e17e00f4e72f6e2e4 100644
--- a/src/main/lkt.c
+++ b/src/main/lkt.c
@@ -817,10 +817,10 @@ search_with_cmd__(struct lkt_cmd_args *args, const char *cmd)
 redo:
     sock = lkt_connect();
 
-    write_socket(sock, "%d %s", continuation, cmd);
-    for (i = 0; i < args->argc; ++i)
-        write_socket(sock, " %s", args->argv[i]);
-    write_socket(sock, "\n");
+    write_socket(sock, "%d %s %s://", continuation, cmd, args->argv[0]);
+    for (i = 1; i < args->argc - 1; ++i)
+        write_socket(sock, "%s ", args->argv[i]);
+    write_socket(sock, "%s\n", args->argv[i]);
 
     for (;;) {
         memset(buff, 0, LKT_MESSAGE_MAX * sizeof(char));