anchor.diff:  			return
   
   	if(href_list["remove_coin"])
  -		if(!coin)
  -			to_chat(usr, "<span class='notice'>There is no coin in this machine.</span>")
  -			return
  -
  -		coin.loc = loc
  -		if(!usr.get_active_held_item())
  -			usr.put_in_hands(coin)
  -		to_chat(usr, "<span class='notice'>You remove [coin] from [src].</span>")
  -		coin = null
  +		if(!(coin || bill))
  +			to_chat(usr, "<span class='notice'>There is no money in this machine.</span>")
  +			return
  +		if(coin)
  +			if(!usr.get_active_held_item())
  +				usr.put_in_hands(coin)
  +			else
  +				coin.forceMove(get_turf(src))
  +			to_chat(usr, "<span class='notice'>You remove [coin] from [src].</span>")
  +			coin = null
  +		if(bill)
  +			if(!usr.get_active_held_item())
  +				usr.put_in_hands(bill)
  +			else
  +				bill.forceMove(get_turf(src))
  +			to_chat(usr, "<span class='notice'>You remove [bill] from [src].</span>")
  +			bill = null
   
   
   	usr.set_machine(src)
  
positive.code: 			var/list/display_records = product_records
  			if(extended_inventory)
  				display_records = product_records + hidden_records
  			if(coin)
  				display_records = product_records + coin_records
  			if(coin && extended_inventory)
  				display_records = product_records + hidden_records + coin_records
  			dat += "<ul>"
  			for (var/datum/data/vending_product/R in display_records)
  
negative.code: 			return
  		W.loc = src
  		coin = W
  		to_chat(user, "<span class='notice'>You insert [W] into [src].</span>")
  		return
  	else if(istype(W, /obj/item/stack/spacecash))
  		if(coin)
  			to_chat(user, "<span class='warning'>[src] already has [coin] inserted</span>")
  			return
  		if(bill)
  			to_chat(user, "<span class='warning'>[src] already has [bill] inserted</span>")
  			return
  		var/obj/item/stack/S = W
  		if(!premium.len)
  			to_chat(user, "<span class='warning'>[src] doesn't have a bill slot.</span>")
  			return
  		S.use(1)
  		bill = new S.type(src,1)
  		to_chat(user, "<span class='notice'>You insert [W] into [src].</span>")
  		return
  	else if(istype(W, refill_canister) && refill_canister != null)
  