diff --git a/src/uifc/uifc32.c b/src/uifc/uifc32.c
index 21456c2987e2e244a198d8f4e36d0037f159ab72..261cd1081ec7cee8fee6fa773b959ab2e0a04274 100644
--- a/src/uifc/uifc32.c
+++ b/src/uifc/uifc32.c
@@ -1915,7 +1915,7 @@ int ugetstr(int left, int top, int width, char *outstr, int max, long mode, int
 			/* This broke swedish chars... */
 			if((ch>=' ' || (ch==1 && mode&K_MSG)) && i<max && (!ins || j<max) && isprint(ch))
 #else
-			if((ch>=' ' || (ch==1 && mode&K_MSG)) && i<max && (!ins || j<max))
+			if((ch>=' ' || (ch==1 && mode&K_MSG)) && i<max && (!ins || j<max) && ch < 256)
 #endif
 			{
 				if(mode&K_UPPER)