diff --git a/code/modules/spells/targeted/absorb.dm b/code/modules/spells/targeted/absorb.dm
index dc2b2db7a62..490700e31e6 100644
--- a/code/modules/spells/targeted/absorb.dm
+++ b/code/modules/spells/targeted/absorb.dm
@@ -35,8 +35,12 @@
if(do_after(holder, target, 5 SECONDS))
qdel(P)
var/hasAbsorbed = FALSE
+ var/knownspell = FALSE
for(var/spell/targetspell in C.spell_list)
- if(!is_type_in_list(targetspell, L.spell_list))
+ for(var/spell/holderspell in L.spell_list)
+ if(targetspell.type == holderspell.type)
+ knownspell = TRUE
+ if(!knownspell)
to_chat(holder, "You asborb the magical energies from your foe and have learned [targetspell.name]!")
L.attack_log += text("\[[time_stamp()] [L.real_name] ([L.ckey]) absorbed the spell [targetspell.name] from [C.real_name] ([C.ckey]).")
C.remove_spell(targetspell)