diff --git a/exec/broker.js b/exec/broker.js
index 6ba413d0b30a40cf146e4528f410b0d7895b7315..6083e92114baee7767cccaf4067867b322d68745 100644
--- a/exec/broker.js
+++ b/exec/broker.js
@@ -1923,6 +1923,8 @@ MQTT.Packet.newBytes = function() {
 		}
 		if (this.connection.rx_need)
 			this.connection.rx_once = this.once('read', MQTT.Packet.newBytes);
+		else
+			this.connection.rx_once = this.once('read', MQTT.Connection.rxPacket);
 	}
 	catch (e) {
 		this.connection.error(e);