diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index 8deefac9b912c513b3d62eafee87c3a8caf85942..691f18b64de570da6ee751b3070bc2587daa36a0 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -284,10 +284,12 @@ class conxion {
 
   private int write_cb() {
     Thread.MutexKey lock = shortmux->lock();
-    towrite -= output_to(socket, towrite);
-    lock = 0;
-    if (!i->fillread && !sizeof(this))
-      close();
+    if (this) {				// Guard against async destructs
+      towrite -= output_to(socket, towrite);
+      lock = 0;
+      if (!i->fillread && !sizeof(this))
+        close();
+    }
     return 0;
   }