diff --git a/src/core/obj.js b/src/core/obj.js
index 93bcde59f..9456e85ad 100644
--- a/src/core/obj.js
+++ b/src/core/obj.js
@@ -1944,18 +1944,18 @@ var XRef = (function XRefClosure() {
       // Keep track of already parsed XRef tables, to prevent an infinite loop
       // when parsing corrupt PDF files where e.g. the /Prev entries create a
       // circular dependency between tables (fixes bug1393476.pdf).
-      const startXRefParsedCache = Object.create(null);
+      const startXRefParsedCache = new Set();
 
       try {
         while (this.startXRefQueue.length) {
           var startXRef = this.startXRefQueue[0];
 
-          if (startXRefParsedCache[startXRef]) {
+          if (startXRefParsedCache.has(startXRef)) {
             warn("readXRef - skipping XRef table since it was already parsed.");
             this.startXRefQueue.shift();
             continue;
           }
-          startXRefParsedCache[startXRef] = true;
+          startXRefParsedCache.add(startXRef);
 
           stream.pos = startXRef + stream.start;
 
diff --git a/web/pdf_find_controller.js b/web/pdf_find_controller.js
index bc99e1f61..7eeb01e65 100644
--- a/web/pdf_find_controller.js
+++ b/web/pdf_find_controller.js
@@ -249,7 +249,7 @@ class PDFFindController {
     this._pageDiffs = [];
     this._matchesCountTotal = 0;
     this._pagesToSearch = null;
-    this._pendingFindMatches = Object.create(null);
+    this._pendingFindMatches = new Set();
     this._resumePageIdx = null;
     this._dirtyMatch = false;
     clearTimeout(this._findTimeout);
@@ -600,12 +600,12 @@ class PDFFindController {
 
       for (let i = 0; i < numPages; i++) {
         // Start finding the matches as soon as the text is extracted.
-        if (this._pendingFindMatches[i] === true) {
+        if (this._pendingFindMatches.has(i)) {
           continue;
         }
-        this._pendingFindMatches[i] = true;
+        this._pendingFindMatches.add(i);
         this._extractTextPromises[i].then(pageIdx => {
-          delete this._pendingFindMatches[pageIdx];
+          this._pendingFindMatches.delete(pageIdx);
           this._calculateMatch(pageIdx);
         });
       }