diff --git a/code/game/gamemodes/blob/blobs/shield.dm b/code/game/gamemodes/blob/blobs/shield.dm
index 9a070c50fe9..18621afaea9 100644
--- a/code/game/gamemodes/blob/blobs/shield.dm
+++ b/code/game/gamemodes/blob/blobs/shield.dm
@@ -36,10 +36,7 @@
var/reflect_chance = 80 //80% chance to reflect
/obj/structure/blob/shield/reflective/handle_ricochet(obj/item/projectile/P)
- if(P.is_reflectable && prob(reflect_chance))
- if(P.legacy) // to prevent legacy projectile exploits
- visible_message("[P] dispereses into energy from [src]!")
- qdel(P)
+ if(P.is_reflectable && prob(reflect_chance) && !P.legacy)
var/P_turf = get_turf(P)
var/face_direction = get_dir(src, P_turf)
var/face_angle = dir2angle(face_direction)
@@ -51,6 +48,9 @@
P.firer = src //so people who fired the lasers are not immune to them when it reflects
visible_message("[P] reflects off [src]!")
return -1// complete projectile permutation
+ else if(P.is_reflectable && P.legacy) //to stop legacy projectile exploits
+ visible_message("[P] dispereses into energy from [src]!")
+ qdel(P)
else
playsound(src, P.hitsound, 50, 1)
visible_message("[src] is hit by \a [P]!")