diff --git a/package.json b/package.json
--- a/package.json
+++ b/package.json
@@ -30,7 +30,6 @@
     "d3": "^5.15.0",
     "datatables.net-responsive-bs4": "^2.2.3",
     "dompurify": "^2.0.7",
-    "elementsfrompoint-polyfill": "^1.0.0",
     "font-awesome": "^4.7.0",
     "highlight.js": "^9.18.0",
     "highlightjs-line-numbers.js": "^2.7.0",
diff --git a/swh/web/assets/src/bundles/vendors/elementsfrompoint-polyfill.js b/swh/web/assets/src/bundles/vendors/elementsfrompoint-polyfill.js
new file mode 100644
--- /dev/null
+++ b/swh/web/assets/src/bundles/vendors/elementsfrompoint-polyfill.js
@@ -0,0 +1,42 @@
+/**
+ * Copyright (C) 2020  The Software Heritage developers
+ * See the AUTHORS file at the top-level directory of this distribution
+ * License: GNU Affero General Public License version 3, or any later version
+ * See top-level LICENSE file for more information
+ */
+
+/**
+ * Some old browsers (Safari 11.0, Firefox 36.0) do not support
+ * document.elementsFromPoint, only document.elementFromPoint.
+ * https://developer.mozilla.org/en-US/docs/Web/API/DocumentOrShadowRoot/elementsFromPoint
+ * Polyfill is based on https://github.com/JSmith01/elementsfrompoint-polyfill (public domain)
+ * and fix a bug in that implementation
+ */
+
+if (typeof document !== 'undefined' && typeof document.elementsFromPoint === 'undefined') {
+  document.elementsFromPoint = elementsFromPointPolyfill;
+}
+
+function elementsFromPointPolyfill(x, y) {
+  var elements = [];
+  var pointerEvents = [];
+  var el;
+
+  do {
+    var parent = document.elementFromPoint(x, y);
+    if (parent) {
+      el = parent;
+      elements.push(el);
+      pointerEvents.push(el.style.pointerEvents);
+      el.style.pointerEvents = 'none';
+    } else {
+      el = null;
+    }
+  } while (el);
+
+  for (var i = 0; i < elements.length; i++) {
+    elements[i].style.pointerEvents = pointerEvents[i];
+  }
+
+  return elements;
+}
diff --git a/swh/web/assets/src/bundles/vendors/index.js b/swh/web/assets/src/bundles/vendors/index.js
--- a/swh/web/assets/src/bundles/vendors/index.js
+++ b/swh/web/assets/src/bundles/vendors/index.js
@@ -12,7 +12,7 @@
 import 'core-js/stable';
 import 'regenerator-runtime/runtime';
 import 'whatwg-fetch/dist/fetch.umd';
-import 'elementsfrompoint-polyfill';
+import './elementsfrompoint-polyfill';
 
 // jquery and bootstrap
 import 'jquery';
diff --git a/yarn.lock b/yarn.lock
--- a/yarn.lock
+++ b/yarn.lock
@@ -5364,11 +5364,6 @@
   resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
   integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4=
 
-elementsfrompoint-polyfill@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/elementsfrompoint-polyfill/-/elementsfrompoint-polyfill-1.0.0.tgz#045291ca64fa4236e8edc01fdfe395ffc5613659"
-  integrity sha512-hw+c1PUOkZ5B8ulcIuwNH0rHLGL9tOKOjazS+jFWpoRC3we68fYEuQ+ap70CMd778iHfe+3lSEbElz0t6Y0yvw==
-
 elliptic@^6.0.0:
   version "6.5.0"
   resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca"