diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 5e8c562..8cd993e 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -568,7 +568,7 @@
 	int i;
 {
 	CHECK_VALID(NULL);
-	if (i < 0 || i >= self->size) {
+	if (i < 0 || (size_t)i >= self->size) {
 		PyErr_SetString(PyExc_IndexError, "mmap index out of range");
 		return NULL;
 	}
@@ -583,13 +583,13 @@
 	CHECK_VALID(NULL);
 	if (ilow < 0)
 		ilow = 0;
-	else if (ilow > self->size)
+	else if ((size_t)ilow > self->size)
 		ilow = self->size;
 	if (ihigh < 0)
 		ihigh = 0;
 	if (ihigh < ilow)
 		ihigh = ilow;
-	else if (ihigh > self->size)
+	else if ((size_t)ihigh > self->size)
 		ihigh = self->size;
     
 	return PyString_FromStringAndSize(self->data + ilow, ihigh-ilow);
@@ -628,13 +628,13 @@
 	CHECK_VALID(-1);
 	if (ilow < 0)
 		ilow = 0;
-	else if (ilow > self->size)
+	else if ((size_t)ilow > self->size)
 		ilow = self->size;
 	if (ihigh < 0)
 		ihigh = 0;
 	if (ihigh < ilow)
 		ihigh = ilow;
-	else if (ihigh > self->size)
+	else if ((size_t)ihigh > self->size)
 		ihigh = self->size;
     
 	if (! (PyString_Check(v)) ) {
@@ -661,7 +661,7 @@
 	const char *buf;
  
 	CHECK_VALID(-1);
-	if (i < 0 || i >= self->size) {
+	if (i < 0 || (size_t)i >= self->size) {
 		PyErr_SetString(PyExc_IndexError, "mmap index out of range");
 		return -1;
 	}
