anchor.diff:  	if(.)
   		if(updating_canmove)
   			owner.update_canmove()
  -			if(issilicon(owner))
  +			if(needs_update_stat || issilicon(owner))
   				owner.update_stat()
   
   /datum/status_effect/incapacitating/on_remove()
   	owner.update_canmove()
  -	if(issilicon(owner)) //silicons need stat updates in addition to normal canmove updates
  +	if(needs_update_stat || issilicon(owner)) //silicons need stat updates in addition to normal canmove updates
   		owner.update_stat()
   
   //STUN
  
positive.code: 			carbon_owner.handle_dreams()
  		if(prob(10) && owner.health > HEALTH_THRESHOLD_CRIT)
  			owner.emote("snore")
  
  /datum/status_effect/incapacitating/sleeping/on_remove()
  	..()
  	owner.update_stat()
  
  /obj/screen/alert/status_effect/asleep
  	name = "Asleep"
  
negative.code: 	tick_interval = 0
  	status_type = STATUS_EFFECT_REPLACE
  	alert_type = null
  	var/needs_update_stat = FALSE
  
  /datum/status_effect/incapacitating/on_creation(mob/living/new_owner, set_duration, updating_canmove)
  	if(isnum(set_duration))
  