diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index 6d92a1df551dbce74c55de56112ea6aeb9a175dd..de8032dbe523234ee8d3c5e00659018a76ace61f 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -1206,11 +1206,11 @@ class sql_result {
     if(statusccomplete && !statuscmdcomplete)
       statuscmdcomplete=statusccomplete;
     inflight=0;
-    datarows->write(1);				// Signal EOF
     conxsess plugbuffer;
     if (!catch(plugbuffer = c->start()))
       plugbuffer->sendcmd(_closeportal(plugbuffer));
     _state=CLOSED;
+    datarows->write(1);				// Signal EOF
     releaseconditions();
   }