diff --git a/Objects/listobject.c b/Objects/listobject.c
index b3e3378..17307f7 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -97,6 +97,8 @@
 		return ((listobject *)op) -> ob_size;
 }
 
+static object *indexerr;
+
 object *
 getlistitem(op, i)
 	object *op;
@@ -107,7 +109,9 @@
 		return NULL;
 	}
 	if (i < 0 || i >= ((listobject *)op) -> ob_size) {
-		err_setstr(IndexError, "list index out of range");
+		if (indexerr == NULL)
+			indexerr = newstringobject("list index out of range");
+		err_setval(IndexError, indexerr);
 		return NULL;
 	}
 	return ((listobject *)op) -> ob_item[i];
@@ -274,7 +278,9 @@
 	int i;
 {
 	if (i < 0 || i >= a->ob_size) {
-		err_setstr(IndexError, "list index out of range");
+		if (indexerr == NULL)
+			indexerr = newstringobject("list index out of range");
+		err_setval(IndexError, indexerr);
 		return NULL;
 	}
 	INCREF(a->ob_item[i]);
