   if (coldInt == 0) {
     coldInt++;
     coldTimeBounce = millis();
-  }
+  } else os_timer_disarm(&coldTimer);
   os_timer_arm(&coldTimer, TIME_BOUNCE, true);
 }
 
 void hotTimerCallback(void *pArg) {
-
   /* If a long low level, then retiming hotTimeBounce */
   if (!digitalRead(HOT_PIN)) {
     hotTimeBounce = millis();

}

void coldTimerCallback(void *pArg) {

  if (!digitalRead(COLD_PIN)) {
    coldTimeBounce = millis();
    return;


  if (digitalRead(HOT_PIN) && hotTimeBounce + TIME_BOUNCE > millis()) return;
  
  os_timer_disarm(&hotTimer);

  hotInt = 0;

