Issue #9501: Merged fix from 3.3.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index b8e7b37..244c915 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -708,7 +708,8 @@
     # This function can be called during module teardown, when globals are
     # set to None. If _acquireLock is None, assume this is the case and do
     # nothing.
-    if _acquireLock is not None:
+    if (_acquireLock is not None and _handlerList is not None and
+        _releaseLock is not None):
         _acquireLock()
         try:
             if wr in _handlerList: