diff --git a/test/core/surface/multi_init_test.c b/test/core/surface/multi_init_test.c
index 3607c424537e58ca73e31dc463bd8c39566cf9a0..dced88257467b16716882d80af8a143963f66e64 100644
--- a/test/core/surface/multi_init_test.c
+++ b/test/core/surface/multi_init_test.c
@@ -44,10 +44,20 @@ static void test(int rounds) {
   }
 }
 
+static void test_mixed() {
+  grpc_init();
+  grpc_init();
+  grpc_shutdown();
+  grpc_init();
+  grpc_shutdown();
+  grpc_shutdown();
+}
+
 int main(int argc, char **argv) {
   grpc_test_init(argc, argv);
   test(1);
   test(2);
   test(3);
+  test_mixed();
   return 0;
 }