diff --git a/cmds/installd/installd.c b/cmds/installd/installd.c
index bf21102..2285e79 100644
--- a/cmds/installd/installd.c
+++ b/cmds/installd/installd.c
@@ -31,11 +31,7 @@
 
 static int do_install(char **arg, char reply[REPLY_MAX])
 {
-    bool restrictHomeDir = (strncmp(arg[3], "false", 6) != 0);
-    return install(arg[0],           /* pkgname */
-                   atoi(arg[1]),     /* uid */
-                   atoi(arg[2]),     /* gid */
-                   restrictHomeDir); /* restrictHomeDir */
+    return install(arg[0], atoi(arg[1]), atoi(arg[2])); /* pkgname, uid, gid */
 }
 
 static int do_dexopt(char **arg, char reply[REPLY_MAX])
@@ -107,11 +103,7 @@
 
 static int do_mk_user_data(char **arg, char reply[REPLY_MAX])
 {
-    bool restrictHomeDir = (strncmp(arg[3], "false", 6) != 0);
-    return make_user_data(arg[0],           /* pkgname */
-                          atoi(arg[1]),     /* uid */
-                          atoi(arg[2]),     /* userid */
-                          restrictHomeDir); /* restrictHomeDir */
+    return make_user_data(arg[0], atoi(arg[1]), atoi(arg[2])); /* pkgname, uid, userid */
 }
 
 static int do_rm_user(char **arg, char reply[REPLY_MAX])
@@ -137,7 +129,7 @@
 
 struct cmdinfo cmds[] = {
     { "ping",                 0, do_ping },
-    { "install",              4, do_install },
+    { "install",              3, do_install },
     { "dexopt",               3, do_dexopt },
     { "movedex",              2, do_move_dex },
     { "rmdex",                1, do_rm_dex },
@@ -150,7 +142,7 @@
     { "rmuserdata",           2, do_rm_user_data },
     { "movefiles",            0, do_movefiles },
     { "linklib",              3, do_linklib },
-    { "mkuserdata",           4, do_mk_user_data },
+    { "mkuserdata",           3, do_mk_user_data },
     { "rmuser",               1, do_rm_user },
 };
 
