diff --git a/Lib/test/test_thread.py b/Lib/test/test_thread.py
index 413889a..fb312aa 100644
--- a/Lib/test/test_thread.py
+++ b/Lib/test/test_thread.py
@@ -237,7 +237,12 @@ class TestForkInThread(unittest.TestCase):
if pid == 0: # child
os.close(self.read_fd)
os.write(self.write_fd, "OK")
- sys.exit(0)
+ # Exiting the thread normally in the child process can leave
+ # any additional threads (such as the one started by
+ # importing _tkinter) still running, and this can prevent
+ # the half-zombie child process from being cleaned up. See
+ # Issue #26456.
+ os._exit(0)
else: # parent
os.close(self.write_fd)