diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index d45db8cb0d8a9cf5662584677fda46b28f7fede8..725c9afc062f24da6cca02b71cedb433c68525d5 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -1186,11 +1186,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();
   }