diff --git a/Python/ceval.c b/Python/ceval.c
index 48fce5b..411e7f3 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -753,7 +753,8 @@
 				/* XXX move into writeobject() ? */
 				char *s = getstringvalue(v);
 				int len = getstringsize(v);
-				if (len > 0 && isspace(s[len-1]) &&
+				if (len > 0 &&
+				    isspace(Py_CHARMASK(s[len-1])) &&
 				    s[len-1] != ' ')
 					softspace(w, 0);
 			}
diff --git a/Python/compile.c b/Python/compile.c
index 45bed39..cb25da2 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -608,12 +608,12 @@
 			*p++ = c;
 			break;
 		case 'x':
-			if (isxdigit(*s)) {
+			if (isxdigit(Py_CHARMASK(*s))) {
 				sscanf(s, "%x", &c);
 				*p++ = c;
 				do {
 					s++;
-				} while (isxdigit(*s));
+				} while (isxdigit(Py_CHARMASK(*s)));
 				break;
 			}
 		/* FALLTHROUGH */
diff --git a/Python/mystrtoul.c b/Python/mystrtoul.c
index e7c0a57..a646283 100644
--- a/Python/mystrtoul.c
+++ b/Python/mystrtoul.c
@@ -26,6 +26,14 @@
 #include "config.h"
 #endif
 
+/* Convert a possibly signed character to a nonnegative int */
+/* XXX This assumes characters are 8 bits wide */
+#ifdef __CHAR_UNSIGNED__
+#define Py_CHARMASK(c)		(c)
+#else
+#define Py_CHARMASK(c)		((c) & 0xff)
+#endif
+
 #include "rename2.h"
 
 /* strtol and strtoul, renamed to avoid conflicts */
@@ -70,7 +78,7 @@
     }
 
 /* skip leading white space */
-    while (*str && isspace(*str))
+    while (*str && isspace(Py_CHARMASK(*str)))
 	str++;
 
 /* check for leading 0 or 0x for auto-base or base 16 */
@@ -99,7 +107,7 @@
     }
 
 /* do the conversion */
-    while (c = *str)
+    while (c = Py_CHARMASK(*str))
     {
 	if (isdigit(c) && c - '0' < base)
 	    c -= '0';
@@ -143,7 +151,7 @@
 	long result;
 	char sign;
 	
-	while (*str && isspace(*str))
+	while (*str && isspace(Py_CHARMASK(*str)))
 		str++;
 	
 	sign = *str;
