diff --git a/code/modules/food_and_drinks/food/ration.dm b/code/modules/food_and_drinks/food/ration.dm
index 05513345bd18..b74db1f0ccb7 100644
--- a/code/modules/food_and_drinks/food/ration.dm
+++ b/code/modules/food_and_drinks/food/ration.dm
@@ -88,7 +88,7 @@
amount_per_transfer_from_this = 10
possible_transfer_amounts = list()
-/obj/item/reagent_containers/food/snacks/ration/attack(mob/living/M, mob/user, def_zone)
+/obj/item/reagent_containers/food/snacks/ration/condiment/attack(mob/living/M, mob/user, def_zone)
if (!is_drainable())
to_chat(user, "[src] is sealed shut!")
return 0
@@ -121,7 +121,7 @@
amount_per_transfer_from_this = 10
possible_transfer_amounts = list()
-/obj/item/reagent_containers/food/snacks/ration/attack(mob/living/M, mob/user, def_zone)
+/obj/item/reagent_containers/food/snacks/ration/pack/attack(mob/living/M, mob/user, def_zone)
if (!is_drainable())
to_chat(user, "[src] is sealed shut!")
return 0
diff --git a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
index 6f231c1dd513..83817e086634 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/microwave.dm
@@ -391,6 +391,7 @@
SIGNAL_HANDLER
UnregisterSignal(tocook, COMSIG_PARENT_QDELETING)
tocook.cut_overlay(ration_overlay)
+ tocook = null
/obj/item/ration_heater/proc/cook()
var/cookturf = get_turf(tocook)
@@ -398,8 +399,8 @@
playsound(tocook, 'sound/items/cig_snuff.ogg', 50, 1)
if(istype(tocook, /obj/item/reagent_containers/food) || istype(tocook, /obj/item/grown))
tocook.visible_message("\The [tocook] is done warming up!")
- clear_cooking()
tocook.microwave_act()
+ clear_cooking()
if(uses == 0)
qdel()
else