diff --git a/wpa_supplicant/wpa_cli.c b/wpa_supplicant/wpa_cli.c
index 18759ab..13be3d4 100644
--- a/wpa_supplicant/wpa_cli.c
+++ b/wpa_supplicant/wpa_cli.c
@@ -2368,20 +2368,18 @@ static int wpa_cli_cmd_p2p_invite(struct wpa_ctrl *ctrl,
 	char cmd[128];
 	int res;
 
-	if (argc < 1) {
-		printf("Invalid P2P_INVITE command: needs at least one "
-		       "argument\n");
+	if (argc < 2) {
+		printf("Invalid P2P_INVITE command: needs at least two "
+		       "arguments\n");
 		return -1;
 	}
 
 	if (argc > 2)
 		res = os_snprintf(cmd, sizeof(cmd), "P2P_INVITE %s %s %s",
 				  argv[0], argv[1], argv[2]);
-	else if (argc > 1)
+	else
 		res = os_snprintf(cmd, sizeof(cmd), "P2P_INVITE %s %s",
 				  argv[0], argv[1]);
-	else
-		res = os_snprintf(cmd, sizeof(cmd), "P2P_INVITE %s", argv[0]);
 	if (res < 0 || (size_t) res >= sizeof(cmd))
 		return -1;
 	cmd[sizeof(cmd) - 1] = '\0';
@@ -3067,7 +3065,8 @@ static struct wpa_cli_cmd wpa_cli_commands[] = {
 	  "<addr> = reject connection attempts from a specific peer" },
 	{ "p2p_invite", wpa_cli_cmd_p2p_invite,
 	  cli_cmd_flag_none,
-	  "<cmd> [peer=addr] = invite peer" },
+	  "[persistent=id|group=ifname] [peer=addr] = invite specified "
+	  "peer to the group" },
 	{ "p2p_peers", wpa_cli_cmd_p2p_peers, cli_cmd_flag_none,
 	  "[discovered] = list known (optionally, only fully discovered) P2P "
 	  "peers" },
