diff --git a/scheduler/src/scheduler.c b/scheduler/src/scheduler.c
index d4f420decf26a9cba28e4f6439e294d40fbfd79c..d396e9be9c7a8e1f9030392f15b5d6ab84873e35 100644
--- a/scheduler/src/scheduler.c
+++ b/scheduler/src/scheduler.c
@@ -83,7 +83,10 @@ void scheduler_enable_channel(TScheduler *scheduler,sched_channel_t channel_id)
 void scheduler_change_period(TScheduler *scheduler,sched_channel_t channel_id,unsigned char period_ms)
 {
   if(channel_id<scheduler->num_channels)
+  {
     scheduler->channels[channel_id].period_ms=period_ms;
+    scheduler->channels[channel_id].pulse=scheduler_ms_to_pulse(scheduler,period_ms);
+  }
 }
 
 void scheduler_disable_channel(TScheduler *scheduler,sched_channel_t channel_id)