diff --git a/Misc/NEWS b/Misc/NEWS
index 527874d..16c808c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@
 Core and Builtins
 -----------------
 
+- Issue #10363: Deallocate global locks in Py_Finalize().
+
 - Issue #13018: Fix reference leaks in error paths in dictobject.c.
   Patch by Suman Saha.
 
diff --git a/Python/import.c b/Python/import.c
index 2adcb04..1dbe544 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -252,16 +252,6 @@
     Py_DECREF(path_hooks);
 }
 
-void
-_PyImport_Fini(void)
-{
-    Py_XDECREF(extensions);
-    extensions = NULL;
-    PyMem_DEL(_PyImport_Filetab);
-    _PyImport_Filetab = NULL;
-}
-
-
 /* Locking primitives to prevent parallel imports of the same module
    in different threads to return with a partially loaded module.
    These calls are serialized by the global interpreter lock. */
@@ -374,6 +364,21 @@
     return Py_None;
 }
 
+void
+_PyImport_Fini(void)
+{
+    Py_XDECREF(extensions);
+    extensions = NULL;
+    PyMem_DEL(_PyImport_Filetab);
+    _PyImport_Filetab = NULL;
+#ifdef WITH_THREAD
+    if (import_lock != NULL) {
+        PyThread_free_lock(import_lock);
+        import_lock = NULL;
+    }
+#endif
+}
+
 static void
 imp_modules_reloading_clear(void)
 {
diff --git a/Python/pystate.c b/Python/pystate.c
index b347c41..40699af 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -150,6 +150,12 @@
     *p = interp->next;
     HEAD_UNLOCK();
     free(interp);
+#ifdef WITH_THREAD
+    if (interp_head == NULL && head_mutex != NULL) {
+        PyThread_free_lock(head_mutex);
+        head_mutex = NULL;
+    }
+#endif
 }
 
 
