diff --git a/test/core/end2end/fuzzers/api_fuzzer.c b/test/core/end2end/fuzzers/api_fuzzer.c
index efd438250bc1c60b5fd8f58ac38515b9b4c4504d..bb74a816a63b51b8a3b86681dbb57abb2e13fe37 100644
--- a/test/core/end2end/fuzzers/api_fuzzer.c
+++ b/test/core/end2end/fuzzers/api_fuzzer.c
@@ -453,6 +453,8 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
       do {
         if (s->type != PENDING_SERVER && s->call != NULL) {
           s = destroy_call(&active_call, s);
+        } else {
+          s = s->next;
         }
       } while (s != active_call);