diff --git a/setupext.py b/setupext.py
index 0387223b94..f12eefe9de 100644
--- a/setupext.py
+++ b/setupext.py
@@ -123,7 +123,8 @@ def get_and_extract_tarball(urls, sha, dirname):
             try:
                 tar_contents = get_from_cache_or_download(url, sha)
                 break
-            except Exception:
+            except Exception as e:
+                print(e)
                 pass
         else:
             raise IOError(
@@ -187,7 +188,7 @@ LOCAL_FREETYPE_HASH = _freetype_hashes.get(LOCAL_FREETYPE_VERSION, 'unknown')
 # Also update the cache path in `.circleci/config.yml`.
 LOCAL_QHULL_VERSION = '2020.2'
 LOCAL_QHULL_HASH = (
-    'b5c2d7eb833278881b952c8a52d20179eab87766b00b865000469a45c1838b7e')
+    '59356b229b768e6e2b09a701448bfa222c37b797a84f87f864f97462d8dbc7c5')
 
 
 # Matplotlib build options, which can be altered using mplsetup.cfg
@@ -755,7 +756,7 @@ class Qhull(SetupPackage):
             return
 
         toplevel = get_and_extract_tarball(
-            urls=["http://www.qhull.org/download/qhull-2020-src-8.0.2.tgz"],
+            urls=["https://github.com/qhull/qhull/archive/refs/tags/"+LOCAL_QHULL_VERSION+".tar.gz"],
             sha=LOCAL_QHULL_HASH,
             dirname=f"qhull-{LOCAL_QHULL_VERSION}",
         )
