diff --git a/lib/nodejs/lib/thrift/json_protocol.js b/lib/nodejs/lib/thrift/json_protocol.js
index b98f131..2e0d29a 100644
--- a/lib/nodejs/lib/thrift/json_protocol.js
+++ b/lib/nodejs/lib/thrift/json_protocol.js
@@ -92,9 +92,16 @@
 TJSONProtocol.Version = 1;
 
 TJSONProtocol.prototype.flush = function() {
+  this.writeToTransportIfStackIsFlushable();
   return this.trans.flush();
 };
 
+TJSONProtocol.prototype.writeToTransportIfStackIsFlushable = function() {
+  if (this.tstack.length === 1) {
+    this.trans.write(this.tstack.pop());
+  }
+};
+
 /**
  * Serializes the beginning of a Thrift RPC message.
  * @param {string} name - The service method to call.
@@ -102,9 +109,6 @@
  * @param {number} seqid - The sequence number of this call (always 0 in Apache Thrift).
  */
 TJSONProtocol.prototype.writeMessageBegin = function(name, messageType, seqid) {
-  this.tstack = [];
-  this.tpos = [];
-
   this.tstack.push([TJSONProtocol.Version, '"' + name + '"', messageType, seqid]);
 };
 
@@ -119,6 +123,7 @@
 
   this.wbuf = '[' + this.wobj.join(',') + ']';
 
+  // we assume there is nothing more to come so we write
   this.trans.write(this.wbuf);
 };
 
@@ -151,6 +156,8 @@
 
   str += '}';
   this.tstack[p] = str;
+
+  this.writeToTransportIfStackIsFlushable();
 };
 
 /**
@@ -181,6 +188,8 @@
       fieldInfo.fieldType + ':' + value + '}';
   }
   this.tpos.pop();
+
+  this.writeToTransportIfStackIsFlushable();
 };
 
 /**
@@ -237,6 +246,8 @@
 
   this.tstack[p].push(map);
   this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
+
+  this.writeToTransportIfStackIsFlushable();
 };
 
 /**
@@ -262,6 +273,8 @@
   }
 
   this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
+
+  this.writeToTransportIfStackIsFlushable();
 };
 
 /**
@@ -287,6 +300,8 @@
   }
 
   this.tstack[p] = '[' + this.tstack[p].join(',') + ']';
+
+  this.writeToTransportIfStackIsFlushable();
 };
 
 /** Serializes a boolean */
