diff --git a/tools/build-and-upload-api-docs.sh b/tools/build-and-upload-api-docs.sh
index ed18c5f88..41a1c2fb2 100644
--- a/tools/build-and-upload-api-docs.sh
+++ b/tools/build-and-upload-api-docs.sh
@@ -1,8 +1,8 @@
 #!/bin/sh
 set -e
 
-dir=haddocks-dir
+dir=$(mktemp -d dist-docs.XXXXXX)
+trap 'rm -r "$dir"' EXIT
 
-cabal v2-haddock --builddir="$dir" --haddock-for-hackage --haddock-hyperlinked-source
-# Starting with cabal 2.0, `--publish` is needed for uploading to non-candidate releases
-cabal upload -d $dir/*-docs.tar.gz
+cabal v2-haddock --builddir="$dir" --haddock-for-hackage --enable-doc
+cabal upload -d --publish $dir/*-docs.tar.gz