diff --git a/pulse_lib/sequencer.py b/pulse_lib/sequencer.py
index 3b2d75187c4f810ba6804084a82e19c94065619d..e2cdc94f10985e9aaf3f982853288a9173fc35cc 100644
--- a/pulse_lib/sequencer.py
+++ b/pulse_lib/sequencer.py
@@ -322,12 +322,15 @@ class sequencer():
             raise Exception('Acquisition parameters cannot be changed after calling  '
                             'get_measurement_results or get_measurement_param')
         conf = self._acquisition_conf
+        update_num_samples = False
         if t_measure:
             conf.t_measure = t_measure
             if sample_rate or conf.sample_rate:
-                self._set_num_samples()
+                update_num_samples = True
         if sample_rate:
             conf.sample_rate = sample_rate
+            update_num_samples = True
+        if update_num_samples:
             self._set_num_samples()
         if channels != []:
             conf.channels = channels