diff --git a/mozilla/htmlparser/src/nsParser.cpp b/mozilla/htmlparser/src/nsParser.cpp
index 3a09f718b69..b37acb09cdd 100644
--- a/mozilla/htmlparser/src/nsParser.cpp
+++ b/mozilla/htmlparser/src/nsParser.cpp
@@ -856,6 +856,8 @@ nsresult nsParser::Parse(nsIURI* aURL,nsIStreamObserver* aListener,PRBool aVerif
NS_PRECONDITION(0!=aURL,kNullURL);
nsresult result=kBadURL;
+ mObserver = aListener;
+ NS_IF_ADDREF(mObserver);
mDTDVerification=aVerifyEnabled;
if(aURL) {
char* spec;
diff --git a/mozilla/parser/htmlparser/src/nsParser.cpp b/mozilla/parser/htmlparser/src/nsParser.cpp
index 3a09f718b69..b37acb09cdd 100644
--- a/mozilla/parser/htmlparser/src/nsParser.cpp
+++ b/mozilla/parser/htmlparser/src/nsParser.cpp
@@ -856,6 +856,8 @@ nsresult nsParser::Parse(nsIURI* aURL,nsIStreamObserver* aListener,PRBool aVerif
NS_PRECONDITION(0!=aURL,kNullURL);
nsresult result=kBadURL;
+ mObserver = aListener;
+ NS_IF_ADDREF(mObserver);
mDTDVerification=aVerifyEnabled;
if(aURL) {
char* spec;