diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod
index cdd47b1fe332275ef16a52ebee10d60a01c896c0..2855f0744d3dc37951d5266895c1f5540f64226d 100644
--- a/lib/modules/Sql.pmod/pgsql_util.pmod
+++ b/lib/modules/Sql.pmod/pgsql_util.pmod
@@ -1189,11 +1189,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();
   }