diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 069c921914..568d5e2d20 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -466,7 +466,7 @@ SLIME SCANNER
msg += "Subject is not addicted to any reagents.\n"
var/datum/reagent/impure/fermiTox/F = M.reagents.has_reagent(/datum/reagent/impure/fermiTox)
- if(istype(F))
+ if(istype(F,/datum/reagent/impure/fermiTox))
switch(F.volume)
if(5 to 10)
msg += "Subject contains a low amount of toxic isomers.\n"
diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm
index e6b19417d8..9c877fc053 100644
--- a/code/modules/reagents/chemistry/machinery/chem_master.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_master.dm
@@ -434,11 +434,11 @@
state = "Gas"
var/const/P = 3 //The number of seconds between life ticks
var/T = initial(R.metabolization_rate) * (60 / P)
- var/datum/chemical_reaction/Rcr = get_chemical_reaction(R.type)
+ var/datum/chemical_reaction/Rcr = get_chemical_reaction(R)
if(Rcr && Rcr.FermiChem)
fermianalyze = TRUE
var/pHpeakCache = (Rcr.OptimalpHMin + Rcr.OptimalpHMax)/2
- var/datum/reagent/targetReagent = beaker.reagents.has_reagent(R.type)
+ var/datum/reagent/targetReagent = beaker.reagents.has_reagent(R)
if(!targetReagent)
CRASH("Tried to find a reagent that doesn't exist in the chem_master!")
@@ -463,9 +463,9 @@
var/T = initial(R.metabolization_rate) * (60 / P)
if(istype(R, /datum/reagent/fermi))
fermianalyze = TRUE
- var/datum/chemical_reaction/Rcr = get_chemical_reaction(R.type)
+ var/datum/chemical_reaction/Rcr = get_chemical_reaction(R)
var/pHpeakCache = (Rcr.OptimalpHMin + Rcr.OptimalpHMax)/2
- var/datum/reagent/targetReagent = reagents.has_reagent(R.type)
+ var/datum/reagent/targetReagent = reagents.has_reagent(R)
if(!targetReagent)
CRASH("Tried to find a reagent that doesn't exist in the chem_master!")
@@ -483,7 +483,7 @@
/obj/machinery/chem_master/proc/end_fermi_reaction()//Ends any reactions upon moving.
- if(beaker.reagents.fermiIsReacting)
+ if(beaker && beaker.reagents.fermiIsReacting)
beaker.reagents.fermiEnd()
/obj/machinery/chem_master/proc/isgoodnumber(num)
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index dbede29e5f..f960633d94 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -60,7 +60,7 @@
B = new(T)
if(data["blood_DNA"])
B.blood_DNA[data["blood_DNA"]] = data["blood_type"]
- if(!B.reagents)
+ if(B.reagents)
B.reagents.add_reagent(type, reac_volume)
B.update_icon()
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 97bc054ecd..af12b2caa0 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -128,8 +128,7 @@
target.visible_message("[M] has been splashed with something!", \
"[M] has been splashed with something!")
for(var/datum/reagent/A in reagents.reagent_list)
- R += A.type + " ("
- R += num2text(A.volume) + "),"
+ R += "[A.type] ([A.volume]),"
if(thrownby)
log_combat(thrownby, M, "splashed", R)