Index: kernel/generic/src/lib/string.c
===================================================================
--- kernel/generic/src/lib/string.c	(revision b888d5f6cda37a2986ddbe2619c8524b029f7077)
+++ kernel/generic/src/lib/string.c	(revision c8bf88d737f715dd3bf256ec6f8bf31e0d3be7e1)
@@ -110,6 +110,4 @@
 #include <align.h>
 
-char invalch = '?';
-
 /** Byte mask consisting of lowest @n bits (out of 8) */
 #define LO_MASK_8(n)  ((uint8_t) ((1 << (n)) - 1))
@@ -135,5 +133,5 @@
  * @param size   Size of the string (in bytes).
  *
- * @return Value of decoded character, invalch on decoding error or
+ * @return Value of decoded character, U_SPECIAL on decoding error or
  *         NULL if attempt to decode beyond @a size.
  *
@@ -170,9 +168,9 @@
 	} else {
 		/* 10xxxxxx -- unexpected continuation byte */
-		return invalch;
+		return U_SPECIAL;
 	}
 	
 	if (*offset + cbytes > size)
-		return invalch;
+		return U_SPECIAL;
 	
 	wchar_t ch = b0 & LO_MASK_8(b0_bits);
@@ -184,5 +182,5 @@
 		/* Must be 10xxxxxx */
 		if ((b & 0xc0) != 0x80)
-			return invalch;
+			return U_SPECIAL;
 		
 		/* Shift data bits to ch */
