diff --git a/Python/pystrcmp.c b/Python/pystrcmp.c
index 0012ef3..84295e7 100644
--- a/Python/pystrcmp.c
+++ b/Python/pystrcmp.c
@@ -1,4 +1,4 @@
-/* Cross platform case insenstive string compare functions
+/* Cross platform case insensitive string compare functions
  */
 
 #include "Python.h"
@@ -8,18 +8,19 @@
 {
 	if (size == 0)
 		return 0;
-	while ((--size > 0) && (tolower(*s1) == tolower(*s2))) {
+	while ((--size > 0) &&
+	       (tolower((unsigned)*s1) == tolower((unsigned)*s2))) {
 		if (!*s1++ || !*s2++)
 			break;
 	}
-	return tolower(*s1) - tolower(*s2);
+	return tolower((unsigned)*s1) - tolower((unsigned)*s2);
 }
 
 int
 PyOS_mystricmp(const char *s1, const char *s2)
 {
-	while (*s1 && (tolower(*s1++) == tolower(*s2++))) {
+	while (*s1 && (tolower((unsigned)*s1++) == tolower((unsigned)*s2++))) {
 		;
 	}
-	return (tolower(*s1) - tolower(*s2));
+	return (tolower((unsigned)*s1) - tolower((unsigned)*s2));
 }
