diff --git a/netwerk/base/src/nsNetModRegEntry.cpp b/netwerk/base/src/nsNetModRegEntry.cpp index 9ffcdb45300..9db2fd52b53 100644 --- a/netwerk/base/src/nsNetModRegEntry.cpp +++ b/netwerk/base/src/nsNetModRegEntry.cpp @@ -114,12 +114,16 @@ nsNetModRegEntry::Equals(nsINetModRegEntry* aEntry, PRBool *_retVal) if (NS_FAILED(rv)) return rv; - if (topic && PL_strcmp(topic, mTopic)) + if (topic && !PL_strcmp(topic, mTopic)) { nsCOMPtr aSyncProxy; - rv = aEntry->GetSyncProxy(getter_AddRefs(aSyncProxy)); + aEntry->GetSyncProxy(getter_AddRefs(aSyncProxy)); + + // mSyncProxy may not be initialized yet. + nsCOMPtr mySyncProxy; + GetSyncProxy(getter_AddRefs(mySyncProxy)); - if(aSyncProxy == mSyncProxy) + if(aSyncProxy == mySyncProxy) { *_retVal = PR_TRUE; }