diff --git a/configure b/configure
index 205f196a25af2d..89cee9f4643d22 100755
--- a/configure
+++ b/configure
@@ -32398,7 +32398,7 @@ printf %s "checking for stdlib extension module _hmac... " >&6; }
         if test "$py_cv_module__hmac" != "n/a"
 then :
 
-    if true
+    if test "$ac_sys_system" != "Emscripten"
 then :
   if true
 then :
diff --git a/configure.ac b/configure.ac
index f0ae7fbec1cbfe..63e526420b1b56 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7995,7 +7995,10 @@ PY_HACL_CREATE_MODULE([BLAKE2], [_blake2], [test "$with_builtin_blake2" = yes])
 dnl HMAC builtin library does not need OpenSSL for now. In the future
 dnl we might want to rely on OpenSSL EVP/NID interface or implement
 dnl our own for algorithm resolution.
-PY_HACL_CREATE_MODULE([HMAC], [_hmac], [])
+dnl
+dnl For Emscripten, we disable HACL* HMAC as it is tricky to make it work.
+dnl See https://github.com/python/cpython/issues/133042.
+PY_HACL_CREATE_MODULE([HMAC], [_hmac], [test "$ac_sys_system" != "Emscripten"])
 ### end(cryptographic primitives)
 
 PY_STDLIB_MOD([_ctypes],