diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -105,9 +105,9 @@ PacketStream.prototype._maybedone = function (err) {
     return // not yet
 
   // close
+  this.read(null, err || true)
   this._closed = true
   this._closecbs.forEach(function (cb) { cb(err) })
-  this.read(null, err || true)
 
   // deallocate
   this.opts = null
when closing, update read() before doing close()