Check if call is cancelled
diff --git a/src/objective-c/GRPCClient/GRPCCall.m b/src/objective-c/GRPCClient/GRPCCall.m
index 5ce3613..1338c1e 100644
--- a/src/objective-c/GRPCClient/GRPCCall.m
+++ b/src/objective-c/GRPCClient/GRPCCall.m
@@ -237,7 +237,9 @@
 
 - (void)writeData:(NSData *)data {
   dispatch_async(_dispatchQueue, ^{
-    [self->_pipe writeValue:data];
+    if (self->_call) {
+      [self->_pipe writeValue:data];
+    }
   });
 }