diff --git a/parser.c b/parser.c
index ca96696..8f7646e 100644
--- a/parser.c
+++ b/parser.c
@@ -9674,14 +9674,8 @@
 {
     xmlParserCtxtPtr ctxt;
     xmlParserInputPtr inputStream;
-    xmlParserInputBufferPtr buf;
     char *directory = NULL;
 
-    buf = xmlParserInputBufferCreateFilename(filename, XML_CHAR_ENCODING_NONE);
-    if (buf == NULL) {
-	return(NULL);
-    }
-
     ctxt = xmlNewParserCtxt();
     if (ctxt == NULL) {
 	if (xmlDefaultSAXHandler.error != NULL) {
@@ -9690,19 +9684,12 @@
 	return(NULL);
     }
 
-    inputStream = xmlNewInputStream(ctxt);
+    inputStream = xmlLoadExternalEntity(filename, NULL, ctxt);
     if (inputStream == NULL) {
 	xmlFreeParserCtxt(ctxt);
 	return(NULL);
     }
 
-    inputStream->filename = xmlMemStrdup(filename);
-    inputStream->buf = buf;
-    inputStream->base = inputStream->buf->buffer->content;
-    inputStream->cur = inputStream->buf->buffer->content;
-    inputStream->end = 
-	&inputStream->buf->buffer->content[inputStream->buf->buffer->use];
-
     inputPush(ctxt, inputStream);
     if ((ctxt->directory == NULL) && (directory == NULL))
         directory = xmlParserGetDirectory(filename);
