diff -r 59358f991c00 Modules/_sre.c --- a/Modules/_sre.c Sat Dec 15 19:22:30 2012 +0100 +++ b/Modules/_sre.c Sat Dec 15 19:57:34 2012 +0000 @@ -1329,9 +1329,9 @@ RETURN_FAILURE; while (p < e) { if (ctx->ptr >= end || - state->lower(SRE_CHARGET(state, ctx->ptr, 0)) != state->lower(*p)) + state->lower(SRE_CHARGET(state, ctx->ptr, 0)) != state->lower(SRE_CHARGET(state, p, 0))) RETURN_FAILURE; - p++; + p += state->charsize; ctx->ptr += state->charsize; } }