diff --git a/src/node/src/client.js b/src/node/src/client.js
index 48fe0dd3b771dd025a75b5f71b077be2e0331941..7b7eae51d2622b5042c6d14acff5e53e5aa11fe8 100644
--- a/src/node/src/client.js
+++ b/src/node/src/client.js
@@ -280,7 +280,9 @@ function makeUnaryRequestFunction(method, serialize, deserialize) {
       }
       var client_batch = {};
       var message = serialize(argument);
-      message.grpcWriteFlags = options.flags;
+      if (options) {
+        message.grpcWriteFlags = options.flags;
+      }
       client_batch[grpc.opType.SEND_INITIAL_METADATA] = metadata;
       client_batch[grpc.opType.SEND_MESSAGE] = message;
       client_batch[grpc.opType.SEND_CLOSE_FROM_CLIENT] = true;
@@ -416,7 +418,9 @@ function makeServerStreamRequestFunction(method, serialize, deserialize) {
       }
       var start_batch = {};
       var message = serialize(argument);
-      message.grpcWriteFlags = options.flags;
+      if (options) {
+        message.grpcWriteFlags = options.flags;
+      }
       start_batch[grpc.opType.SEND_INITIAL_METADATA] = metadata;
       start_batch[grpc.opType.RECV_INITIAL_METADATA] = true;
       start_batch[grpc.opType.SEND_MESSAGE] = message;