diff --git a/libs/apr/locks/win32/thread_cond.c b/libs/apr/locks/win32/thread_cond.c
index ac71a41939..30d2c4a2bc 100644
--- a/libs/apr/locks/win32/thread_cond.c
+++ b/libs/apr/locks/win32/thread_cond.c
@@ -37,6 +37,10 @@ APR_DECLARE(apr_status_t) apr_thread_cond_create(apr_thread_cond_t **cond,
     (*cond)->event = CreateEvent(NULL, TRUE, FALSE, NULL);
     (*cond)->signal_all = 0;
     (*cond)->num_waiting = 0;
+
+	apr_pool_cleanup_register(pool, *cond, thread_cond_cleanup,
+                          apr_pool_cleanup_null);
+
     return APR_SUCCESS;
 }