diff --git a/src/core/surface/call.c b/src/core/surface/call.c
index 659f7d26c3044a9334ac263d41b981275964b305..ec6fd65ea35f350d01659ebaead829b8437215cd 100644
--- a/src/core/surface/call.c
+++ b/src/core/surface/call.c
@@ -597,6 +597,7 @@ static void call_on_done_send(void *pc, int success) {
     finish_ioreq_op(call, GRPC_IOREQ_SEND_STATUS, success);
     finish_ioreq_op(call, GRPC_IOREQ_SEND_CLOSE, 1);
   }
+  call->send_ops.nops = 0;
   call->last_send_contains = 0;
   call->sending = 0;
   unlock(call);
diff --git a/src/ruby/core b/src/ruby/core
new file mode 100644
index 0000000000000000000000000000000000000000..6fac943e327cd913dfc95ffb34084faecf896dd7
Binary files /dev/null and b/src/ruby/core differ