diff --git a/server/src/ps_move/controller.rs b/server/src/ps_move/controller.rs
index 6a95a6c..11d3256 100644
--- a/server/src/ps_move/controller.rs
+++ b/server/src/ps_move/controller.rs
@@ -122,10 +122,10 @@ impl PsMoveController {
         self.last_led_effect = self.led_effect;
         self.setting.last_led = self.setting.led;
 
-        let mut kind = effect.kind;
+        let kind = effect.kind;
 
         self.led_effect = effect;
-        self.setting.led = kind.get_updated_hsv(self.setting.led);
+        self.setting.led = kind.get_initial_hsv();
     }
 
     pub fn set_led_effect_with_hsv(&mut self, effect: LedEffect, hsv: Hsv) {
diff --git a/server/src/tasks/effects_update.rs b/server/src/tasks/effects_update.rs
index 68aa4d1..50af0f4 100644
--- a/server/src/tasks/effects_update.rs
+++ b/server/src/tasks/effects_update.rs
@@ -1,5 +1,5 @@
 use std::sync::Arc;
-use std::time::Duration;
+use std::time::{Duration, Instant};
 
 use tokio::sync::Mutex;
 use tokio::task::JoinHandle;
@@ -17,7 +17,7 @@ pub async fn run(
 ) -> JoinHandle<()> {
     let mut interval = time::interval(INTERVAL_DURATION);
 
-    interval.set_missed_tick_behavior(MissedTickBehavior::Burst);
+    interval.set_missed_tick_behavior(MissedTickBehavior::Skip);
 
     loop {
         interval.tick().await;