anchor.diff:  			message = "<span class='notice'>You remove the mark on [marked_item] to use elsewhere.</span>"
   			name = "Instant Summons"
   			marked_item = 		null
  -			processing_objects.Remove(src)
  +
  +		else if(marked_item && !marked_item.loc) //the item was destroyed at some point
  +			message = "<span class='warning'>You sense your marked item has been destroyed!</span>"
  +			name = "Instant Summons"
  +			marked_item = 		null
   
   		else	//Getting previously marked item
   			var/obj/item_to_retrive = marked_item
  
positive.code: 			while(!isturf(item_to_retrive.loc) && infinite_recursion < 10) //if it's in something you get the whole thing.
  				if(ismob(item_to_retrive.loc)) //If its on someone, properly drop it
  					var/mob/M = item_to_retrive.loc
  					M.unEquip(item_to_retrive)
  					if(iscarbon(M)) //Edge case housekeeping
  						var/mob/living/carbon/C = M
  						if(C.internal_organs && item_to_retrive in C.internal_organs) //KALIMA!
  							C.internal_organs -= item_to_retrive
  						if(C.stomach_contents && item_to_retrive in C.stomach_contents)
  							C.stomach_contents -= item_to_retrive
  				else
  					item_to_retrive = item_to_retrive.loc
  				infinite_recursion += 1
  
  			item_to_retrive.loc.visible_message("<span class='warning'>The [item_to_retrive.name] suddenly disappears!</span>")
  
  
negative.code: 				marked_item = 		item
  				message += "You mark [item] for recall.</span>"
  				name = "Recall [item]"
  				break
  
  			if(!marked_item)
  