Index: kernel/generic/src/console/kconsole.c
===================================================================
--- kernel/generic/src/console/kconsole.c	(revision f4b153529231867ef6c64403a465d1f66e1016ca)
+++ kernel/generic/src/console/kconsole.c	(revision 4ee4046e33acd575f0fc5f064a7d5d665238ef63)
@@ -303,4 +303,14 @@
 				continue;
 			
+			if (found > 1) {
+				/* No unique hint, list was printed */
+				printf("%s> ", prompt);
+				printf("%ls", current);
+				print_cc('\b', wstr_length(current) - position);
+				continue;
+			}
+			
+			/* We have a hint */
+			
 			size_t off = 0;
 			count_t i = 0;
@@ -311,24 +321,15 @@
 			}
 			
-			if ((str_length(tmp) > 0) || (found == 1)) {
-				/* We have a hint */
-				printf("%ls", current + position);
-				print_cc('\b', wstr_length(current) - position);
-				position += str_length(tmp);
-				
-				if ((found == 1) && (position == wstr_length(current))) {
-					if (wstr_linsert(current, ' ', position, MAX_CMDLINE)) {
-						printf("%ls", current + position);
-						position++;
-					}
+			printf("%ls", current + position);
+			position += str_length(tmp);
+			print_cc('\b', wstr_length(current) - position);
+			
+			if (position == wstr_length(current)) {
+				/* Insert a space after the last completed argument */
+				if (wstr_linsert(current, ' ', position, MAX_CMDLINE)) {
+					printf("%ls", current + position);
+					position++;
 				}
-			} else {
-				/* No unique hint, list was printed */
-				printf("%s> ", prompt);
-				printf("%ls", current);
-				position += str_length(tmp);
-			}
-			
-			print_cc('\b', wstr_length(current) - position);
+			}
 			continue;
 		}
