diff --git a/src/node/test/end_to_end_test.js b/src/node/test/end_to_end_test.js
index 60e9861bc863ea533ce5646851b5ad8e80d8be24..667852f382699ca8457af07dfb5dad11054ba323 100644
--- a/src/node/test/end_to_end_test.js
+++ b/src/node/test/end_to_end_test.js
@@ -286,20 +286,24 @@ describe('end-to-end', function() {
         assert.ifError(err);
         assert(response['send metadata']);
         assert.strictEqual(response.read.toString(), requests[0]);
-        var end_batch = {};
-        end_batch[grpc.opType.RECV_CLOSE_ON_SERVER] = true;
-        end_batch[grpc.opType.SEND_STATUS_FROM_SERVER] = {
-          'metadata': {},
-          'code': grpc.status.OK,
-          'details': status_text
-        };
-        end_batch[grpc.opType.RECV_MESSAGE] = true;
-        server_call.startBatch(end_batch, function(err, response) {
+        var snd_batch = {};
+        snd_batch[grpc.opType.RECV_MESSAGE] = true;
+        server_call.startBatch(snd_batch, function(err, response) {
           assert.ifError(err);
-          assert(response['send status']);
-          assert(!response.cancelled);
           assert.strictEqual(response.read.toString(), requests[1]);
-          done();
+          var end_batch = {};
+          end_batch[grpc.opType.RECV_CLOSE_ON_SERVER] = true;
+          end_batch[grpc.opType.SEND_STATUS_FROM_SERVER] = {
+            'metadata': {},
+            'code': grpc.status.OK,
+            'details': status_text
+          };
+          server_call.startBatch(end_batch, function(err, response) {
+            assert.ifError(err);
+            assert(response['send status']);
+            assert(!response.cancelled);
+            done();
+          });
         });
       });
     });