Index: generic/src/console/kconsole.c
===================================================================
--- generic/src/console/kconsole.c	(revision 9e5938dc1a676244e7a61330a207a7bc3ec67806)
+++ generic/src/console/kconsole.c	(revision d0da9211313ee60d8df069b92c3624bbcdee6b77)
@@ -429,12 +429,12 @@
 	
 	/* If we get a name, try to find it in symbol table */
+	if (text[0] == '&') {
+		isaddr = true;
+		text++;len--;
+	} else if (text[0] == '*') {
+		isptr = true;
+		text++;len--;
+	}
 	if (text[0] < '0' || text[0] > '9') {
-		if (text[0] == '&') {
-			isaddr = true;
-			text++;len--;
-		} else if (text[0] == '*') {
-			isptr = true;
-			text++;len--;
-		}
 		strncpy(symname, text, min(len+1, MAX_SYMBOL_NAME));
 		symaddr = get_symbol_addr(symname);
@@ -448,12 +448,14 @@
 			return -1;
 		}
-		if (isaddr)
-			*result = (__native)symaddr;
-		else if (isptr)
-			*result = **((__native **)symaddr);
-		else
-			*result = *((__native *)symaddr);
 	} else /* It's a number - convert it */
 		*result = atoi(text);
+
+	if (isaddr)
+		*result = (__native)symaddr;
+	else if (isptr)
+		*result = **((__native **)symaddr);
+	else
+		*result = *((__native *)symaddr);
+
 	return 0;
 }
