diff --git a/Lib/unittest/async_case.py b/Lib/unittest/async_case.py
index 251d97d79b35fc262f1dea78674d273ac2b60821..2d2f8ce289d233bf6a624421b5a59f0b8b5396e9 100644
--- a/Lib/unittest/async_case.py
+++ b/Lib/unittest/async_case.py
@@ -1,4 +1,5 @@
 import asyncio
+import atexit
 import inspect
 import warnings
 
@@ -240,6 +241,7 @@ def setUpAsyncioLoop(self):
         if loop is not None:
             loop = self.setUpGlobalAsyncioLoop()
             self.__class__._globalAsyncioLoop = loop
+            atexit.register(self.tearDownGlobalAsyncioLoop, loop)
         return loop
 
     def tearDownAsyncioLoop(self, loop):