diff --git a/pyabc2/html.py b/pyabc2/html.py
index 29e442a..0576d9f 100644
--- a/pyabc2/html.py
+++ b/pyabc2/html.py
@@ -99,6 +99,7 @@ def cleanup():
pass
atexit.register(cleanup)
+ open_html.cleanup = cleanup # type: ignore[attr-defined]
open_new_tab(path)
diff --git a/tests/test_html.py b/tests/test_html.py
index 6c2e69d..1395f8a 100644
--- a/tests/test_html.py
+++ b/tests/test_html.py
@@ -1,4 +1,3 @@
-import atexit
from pathlib import Path
from tempfile import gettempdir
@@ -32,5 +31,5 @@ def mock_input(arg: str) -> str:
assert url.startswith(TMP)
assert Path(url).exists(), "haven't exited yet"
- atexit._run_exitfuncs()
+ open_html.cleanup()
assert not Path(url).exists(), "should be cleaned up after exit"