diff --git a/src/core/transport/chttp2/alpn.c b/src/core/transport/chttp2/alpn.c
index 69da4e6718e638415c6886522d9e668367c666c0..cf2079953fa736760a80dae48fd27e3c3b0edd86 100644
--- a/src/core/transport/chttp2/alpn.c
+++ b/src/core/transport/chttp2/alpn.c
@@ -36,7 +36,7 @@
 #include <grpc/support/useful.h>
 
 /* in order of preference */
-static const char *const supported_versions[] = {"h2"};
+static const char *const supported_versions[] = {"not-h2"};
 
 int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size) {
   size_t i;
diff --git a/test/core/bad_ssl/bad_ssl_test.c b/test/core/bad_ssl/bad_ssl_test.c
index 08ab482c58fd0cb1a22232af5ac1bfe56cb2a368..54ac6d0e1c0fca163c09fafc7dd8832a765b62df 100644
--- a/test/core/bad_ssl/bad_ssl_test.c
+++ b/test/core/bad_ssl/bad_ssl_test.c
@@ -163,7 +163,7 @@ int main(int argc, char **argv) {
     grpc_shutdown();
   }
   gpr_free(args[2]);
-
+  
   gpr_subprocess_interrupt(svr);
   status = gpr_subprocess_join(svr);
   gpr_subprocess_destroy(svr);
diff --git a/test/core/bad_ssl/server.c b/test/core/bad_ssl/server.c
index 43312f157779a44639288c06478f131c9a754549..2ed94de0994371de5995e9f350a1796791881e0b 100644
--- a/test/core/bad_ssl/server.c
+++ b/test/core/bad_ssl/server.c
@@ -62,11 +62,23 @@ void bad_ssl_run(grpc_server *server) {
   int shutdown_started = 0;
   int shutdown_finished = 0;
   grpc_event ev;
-
+  grpc_call_error error;
+  grpc_call *s = NULL;
+  grpc_call_details call_details;
+  grpc_metadata_array request_metadata_recv;
   grpc_completion_queue *cq = grpc_completion_queue_create(NULL);
+
+  grpc_call_details_init(&call_details);
+  grpc_metadata_array_init(&request_metadata_recv);
+
   grpc_server_register_completion_queue(server, cq, NULL);
   grpc_server_start(server);
 
+  error =
+      grpc_server_request_call(server, &s, &call_details,
+                               &request_metadata_recv, cq, cq, (void*)1);
+  GPR_ASSERT(GRPC_CALL_OK == error);
+
   signal(SIGINT, sigint_handler);
   while (!shutdown_finished) {
     if (got_sigint && !shutdown_started) {
@@ -84,7 +96,8 @@ void bad_ssl_run(grpc_server *server) {
         NULL);
     switch (ev.type) {
       case GRPC_OP_COMPLETE:
-        GPR_UNREACHABLE_CODE(gpr_log(GPR_DEBUG, "GRPC_OP_COMPLETE"));
+        GPR_ASSERT(ev.tag == (void*)1);
+        GPR_ASSERT(ev.success == 0);
         break;
       case GRPC_QUEUE_SHUTDOWN:
         GPR_ASSERT(shutdown_started);
@@ -94,4 +107,8 @@ void bad_ssl_run(grpc_server *server) {
         break;
     }
   }
+
+  GPR_ASSERT(s == NULL);
+  grpc_call_details_destroy(&call_details);
+  grpc_metadata_array_destroy(&request_metadata_recv);
 }
diff --git a/test/core/bad_ssl/servers/alpn.c b/test/core/bad_ssl/servers/alpn.c
index 7d70690e52db39cd3dbdc91ab83ca643b94556e1..2623a9e6548b960c8e63712d582ac4054cb60445 100644
--- a/test/core/bad_ssl/servers/alpn.c
+++ b/test/core/bad_ssl/servers/alpn.c
@@ -46,7 +46,7 @@
  * a protocol that the connecting client does not support. It does this by
  * overriding the functions declared in alpn.c from the core library. */
 
-static const char *const fake_versions[] = {"not-h2"};
+static const char *const fake_versions[] = {"h2"};
 
 int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size) {
   size_t i;