diff --git a/src/core/transport/chttp2_transport.c b/src/core/transport/chttp2_transport.c
index 5cc8375d6594209ca17cd9ec184a89d09df7939b..2b15b2a8128cb75d55d7a6c68337617fba7a1ae9 100644
--- a/src/core/transport/chttp2_transport.c
+++ b/src/core/transport/chttp2_transport.c
@@ -1655,6 +1655,12 @@ static int process_read(transport *t, gpr_slice slice) {
       if (!init_frame_parser(t)) {
         return 0;
       }
+      /* t->last_incoming_stream_id is used as last-stream-id when
+         sending GOAWAY frame.
+         https://tools.ietf.org/html/draft-ietf-httpbis-http2-17#section-6.8
+         says that last-stream-id is peer-initiated stream ID.  So,
+         since we don't have server pushed streams, client should send
+         GOAWAY last-stream-id=0 in this case. */
       if (!t->is_client) {
         t->last_incoming_stream_id = t->incoming_stream_id;
       }