anchor.diff:  			var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
   			var/amount = get_juice_amount(O)
   
  -			O.reagents.trans_id_to(beaker, r_id, min(amount, space))
  +			beaker.reagents.add_reagent(r_id, min(amount, space))
   
   			if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
   				break
  -		if(O.reagents.reagent_list.len == 0)
  -			remove_object(O)
  -
  -
  -	if(holdingitems && holdingitems.len == 0)
  -		src.verbs -= /obj/machinery/reagentgrinder/verb/eject
  +
  +		remove_object(O)
   
   /obj/machinery/reagentgrinder/proc/grind()
   
   	power_change()
   	if(stat & (NOPOWER|BROKEN))
   		return
  -	if (!beaker || beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
  +	if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
   		return
   	playsound(src.loc, 'blender.ogg', 50, 1)
   	inuse = 1
  
positive.code: 		O.reagents.trans_to(beaker, amount)
  		if(!O.reagents.total_volume)
  			remove_object(O)
  
  	if(holdingitems && holdingitems.len == 0)
  		src.verbs -= /obj/machinery/reagentgrinder/verb/eject
  
negative.code: 			if(amount == 0)
  				if (O.reagents != null && O.reagents.has_reagent("nutriment"))
  					beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("nutriment"), space))
  					O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space))
  
  			else
  				O.reagents.trans_id_to(beaker, r_id, min(amount, space))
  