Fix use-after-free bug
diff --git a/src/core/ext/xds/xds_client.cc b/src/core/ext/xds/xds_client.cc
index b1ed7b4..e3d9ced 100644
--- a/src/core/ext/xds/xds_client.cc
+++ b/src/core/ext/xds/xds_client.cc
@@ -172,6 +172,7 @@
         MutexLock lock(&self->ads_calld_->xds_client()->mu_);
         self->OnTimerLocked(GRPC_ERROR_REF(error));
       }
+      self->ads_calld_.reset();
       self->Unref(DEBUG_LOCATION, "timer");
     }
 
@@ -213,7 +214,6 @@
         }
         GRPC_ERROR_UNREF(watcher_error);
       }
-      ads_calld_.reset();
       GRPC_ERROR_UNREF(error);
     }