diff -r 6acd2b575a3c Objects/dictobject.c --- a/Objects/dictobject.c Tue Sep 13 07:56:45 2016 +0300 +++ b/Objects/dictobject.c Tue Sep 13 17:53:20 2016 +0800 @@ -1370,12 +1370,12 @@ ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, NULL); /* ignore errors */ PyErr_Restore(err_type, err_value, err_tb); - if (ix == DKIX_EMPTY) + if (ix < 0) return NULL; } else { ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, NULL); - if (ix == DKIX_EMPTY) { + if (ix < 0) { PyErr_Clear(); return NULL; }