--- a/xmlparser.c
+++ b/xmlparser.c
@@ -1803,7 +1803,7 @@ XMLParser_parse(int argc, VALUE* argv, V
       volatile VALUE encobj;
       volatile VALUE ustr;
       enc = rb_enc_find(parser->detectedEncoding);
-      if ((int)ENC_TO_ENCINDEX(enc) != rb_ascii8bit_encindex()) {
+      if ((int)rb_enc_to_index(enc) != rb_ascii8bit_encindex()) {
         rb_enc_associate(str, enc);
         encobj = rb_enc_from_encoding(enc_xml);
         /* rb_str_encode may raises an exception */
