diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index 74d872aa4ff605f94bbfafdb1a69dbc8175b7b41..46b06ad429561cbb83152d0f0ea92f43803a8c34 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -284,14 +284,13 @@ class conxion {
 
   private int write_cb() {
     Thread.MutexKey lock = shortmux->lock();
-    towrite -= output_to(socket,towrite);
-    lock = 0;
-#ifdef PG_DEBUG
-    if (!i->fillread)
-      PD("%d>Delayed close to go %d\n", socket->query_fd(), sizeof(this));
-#endif
-    if (!i->fillread && !sizeof(this))
-      close();
+    if (this) {
+      towrite -= output_to(socket, towrite);
+      lock = 0;
+      if (!i->fillread && !sizeof(this))
+        close();
+    } else
+      lock = 0;
     return 0;
   }