Index: kernel/generic/src/console/kconsole.c
===================================================================
--- kernel/generic/src/console/kconsole.c	(revision c1b8ad4ada46d00160a9a334f11c6017bff4e8b9)
+++ kernel/generic/src/console/kconsole.c	(revision 0cfc18d371132ba897ebc75f095c39ad9d64be99)
@@ -370,4 +370,5 @@
 			 */
 			size_t beg;
+			unsigned sp = 0, narg = 0;
 			for (beg = position - 1; (beg > 0) && (!isspace(current[beg]));
 			    beg--);
@@ -378,6 +379,20 @@
 			wstr_to_str(tmp, position - beg + 1, current + beg);
 			
+			/* Count which argument number are we tabbing (narg=0 is cmd) */
+			for (; beg > 0; beg--) {
+				if (isspace(current[beg])) {
+					if (!sp) {
+						narg++;
+						sp = 1;
+					}
+				}
+				else
+					sp = 0;
+			}
+			if (narg && isspace(current[0]))
+				narg--;
+
 			int found;
-			if (beg == 0) {
+			if (narg == 0) {
 				/* Command completion */
 				found = cmdtab_compl(tmp, STR_BOUNDS(MAX_CMDLINE), indev,
@@ -386,5 +401,5 @@
 				/* Arguments completion */
 				cmd_info_t *cmd = parse_cmd(current);
-				if (!cmd || !cmd->hints_enum)
+				if (!cmd || !cmd->hints_enum || cmd->argc < narg)
 					continue;
 				found = cmdtab_compl(tmp, STR_BOUNDS(MAX_CMDLINE), indev,
