diff --git a/lib/nghttp2_hd.c b/lib/nghttp2_hd.c
index 71b2fe3610ff4be3206ed577d60ffb544d9f51c2..2414fdd2d3213ecf0dd47a94f78a3fd8440e6cda 100644
--- a/lib/nghttp2_hd.c
+++ b/lib/nghttp2_hd.c
@@ -1414,6 +1414,7 @@ ssize_t nghttp2_hd_inflate_hd(nghttp2_hd_inflater *inflater,
 
   DEBUGF(fprintf(stderr, "nghtp2_hd_infalte_hd start state=%d\n",
                  inflater->state));
+  hd_inflate_keep_free(inflater);
   *inflate_flags = NGHTTP2_HD_INFLATE_NONE;
   for(; in != last;) {
     switch(inflater->state) {