diff --git a/lib/modules/Protocols.pmod/DNS.pmod b/lib/modules/Protocols.pmod/DNS.pmod
index 28f5f3d602c76bcf5561af9382c3ad959c8dace0..a720d179d15789fb9b106a2aac3d2a5efe6246f6 100644
--- a/lib/modules/Protocols.pmod/DNS.pmod
+++ b/lib/modules/Protocols.pmod/DNS.pmod
@@ -541,7 +541,7 @@ class async_client
 	{
 #if constant(thread_create)
 	  // We need to unlock the lock for the remove operation...
-	  key=0;
+	  destruct(key);
 #endif /* constant(thread_create) */
 	  remove(requests[lid]);
 #if constant(thread_create)