diff --git a/main/manager.c b/main/manager.c
index aacdf4b7e49f3d39a97711176020293a9a78eceb..b4067e914565b5c4ff65d81a873bfe440cb72c18 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -612,22 +612,17 @@ static char *handle_showmancmd(struct ast_cli_entry *e, int cmd, struct ast_cli_
 			"	Shows the detailed description for a specific Asterisk manager interface command.\n";
 		return NULL;
 	case CLI_GENERATE:
-		if (a->pos == 3) {
-			/* autocomplete the action name. */
-			l = strlen(a->word);
-			which = 0;
-			AST_RWLIST_RDLOCK(&actions);
-			AST_RWLIST_TRAVERSE(&actions, cur, list) {
-				if (!strncasecmp(a->word, cur->action, l) && ++which > a->n) {
-					ret = ast_strdup(cur->action);
-					break;	/* make sure we exit even if ast_strdup() returns NULL */
-				}
+		l = strlen(a->word);
+		which = 0;
+		AST_RWLIST_RDLOCK(&actions);
+		AST_RWLIST_TRAVERSE(&actions, cur, list) {
+			if (!strncasecmp(a->word, cur->action, l) && ++which > a->n) {
+				ret = ast_strdup(cur->action);
+				break;	/* make sure we exit even if ast_strdup() returns NULL */
 			}
-			AST_RWLIST_UNLOCK(&actions);
-			return ret;
 		}
-
-		return NULL;
+		AST_RWLIST_UNLOCK(&actions);
+		return ret;
 	}
 	authority = ast_str_alloca(80);
 	if (a->argc != 4) {