Extend the test case
diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c
index f895336..9e7b2ea 100644
--- a/test/core/surface/completion_queue_test.c
+++ b/test/core/surface/completion_queue_test.c
@@ -94,9 +94,9 @@
   shutdown_and_destroy(cc);
 }
 
-static void test_shutdown_then_next(void) {
+static void test_shutdown_then_next_polling(void) {
   grpc_completion_queue *cc;
-  LOG_TEST("test_shutdown_then_next");
+  LOG_TEST("test_shutdown_then_next_polling");
 
   cc = grpc_completion_queue_create();
   grpc_completion_queue_shutdown(cc);
@@ -104,6 +104,16 @@
   grpc_completion_queue_destroy(cc);
 }
 
+static void test_shutdown_then_next_with_timeout(void) {
+  grpc_completion_queue *cc;
+  LOG_TEST("test_shutdown_then_next_with_timeout");
+
+  cc = grpc_completion_queue_create();
+  grpc_completion_queue_shutdown(cc);
+  GPR_ASSERT(grpc_completion_queue_next(cc, gpr_inf_future).type == GRPC_QUEUE_SHUTDOWN);
+  grpc_completion_queue_destroy(cc);
+}
+
 static void test_pluck(void) {
   grpc_event ev;
   grpc_completion_queue *cc;
@@ -301,7 +311,8 @@
   grpc_iomgr_init();
   test_no_op();
   test_wait_empty();
-  test_shutdown_then_next();
+  test_shutdown_then_next_polling();
+  test_shutdown_then_next_with_timeout();
   test_cq_end_op();
   test_pluck();
   test_threading(1, 1);