diff --git a/test/core/bad_client/tests/badreq.c b/test/core/bad_client/tests/badreq.c
index d90388158d976e7a4c1e50c437b41345e3954811..3130a0965405a963404684cd83da57303678e04c 100644
--- a/test/core/bad_client/tests/badreq.c
+++ b/test/core/bad_client/tests/badreq.c
@@ -96,5 +96,19 @@ int main(int argc, char **argv) {
     "\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)",
     GRPC_BAD_CLIENT_DISCONNECT);
 
+  /* bad accept-encoding algorithm */
+  GRPC_RUN_BAD_CLIENT_TEST(verifier, 
+    PFX_STR
+    "\x00\x00\xd2\x01\x04\x00\x00\x00\x01"
+    "\x10\x05:path\x08/foo/bar"
+    "\x10\x07:scheme\x04http"
+    "\x10\x07:method\x04POST"
+    "\x10\x0a:authority\x09localhost"
+    "\x10\x0c""content-type\x10""application/grpc"
+    "\x10\x14grpc-accept-encoding\x1enobody-knows-the-trouble-i-see"
+    "\x10\x02te\x08trailers"
+    "\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)",
+    GRPC_BAD_CLIENT_DISCONNECT);
+
   return 0;
 }
diff --git a/test/core/bad_client/tests/badreq_algorithm.headers b/test/core/bad_client/tests/badreq_algorithm.headers
new file mode 100644
index 0000000000000000000000000000000000000000..ff3e613f933cad097a5a14f88e3306029cb78050
--- /dev/null
+++ b/test/core/bad_client/tests/badreq_algorithm.headers
@@ -0,0 +1,11 @@
+# headers used in badreq.c
+# use tools/codegen/core/gen_header_frame.py to generate the binary strings
+# contained in the source code
+:path: /foo/bar
+:scheme: http
+:method: POST
+:authority: localhost
+content-type: application/grpc
+grpc-accept-encoding: nobody-knows-the-trouble-i-see
+te: trailers
+user-agent: bad-client grpc-c/0.12.0.0 (linux)