diff --git a/python/sglang/srt/managers/scheduler.py b/python/sglang/srt/managers/scheduler.py index 31294749d..b84608e06 100644 --- a/python/sglang/srt/managers/scheduler.py +++ b/python/sglang/srt/managers/scheduler.py @@ -2297,8 +2297,9 @@ class Scheduler( def set_next_batch_sampling_info_done(self, batch: ScheduleBatch): if batch.next_batch_sampling_info: if batch.next_batch_sampling_info.grammars is not None: - batch.next_batch_sampling_info.update_regex_vocab_mask() - self.current_stream.synchronize() + if self.disaggregation_mode != DisaggregationMode.PREFILL: + batch.next_batch_sampling_info.update_regex_vocab_mask() + self.current_stream.synchronize() batch.next_batch_sampling_info.sampling_info_done.set() def watchdog_thread(self):