added missing guard() on timer callback