diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm
index 5e9371f754..79c12c7fea 100644
--- a/code/datums/helper_datums/teleport.dm
+++ b/code/datums/helper_datums/teleport.dm
@@ -85,6 +85,15 @@
var/mob/M = teleatom
M.cancel_camera()
+ var/static/list/bread_cache = typecacheof(/obj/item/reagent_containers/food/snacks/store/bread)
+ var/list/breadlist = typecache_filter_list(teleatom.GetAllContents(), bread_cache)
+ if(breadlist.len && (channel == TELEPORT_CHANNEL_BLUESPACE || channel == TELEPORT_CHANNEL_QUANTUM))
+ for(var/obj/item/reagent_containers/food/snacks/store/bread/bread in breadlist)
+ bread.bread_teleport()
+ else if(istype(teleatom, /obj/item/reagent_containers/food/snacks/store/bread))
+ var/obj/item/reagent_containers/food/snacks/store/bread/bread = teleatom
+ bread.bread_teleport()
+
return TRUE
/proc/tele_play_specials(atom/movable/teleatom, atom/location, datum/effect_system/effect, sound)
diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm
index 78f9d9f07f..3b133d8675 100644
--- a/code/modules/food_and_drinks/food/snacks_bread.dm
+++ b/code/modules/food_and_drinks/food/snacks_bread.dm
@@ -7,16 +7,11 @@
foodtype = GRAIN
dunkable = TRUE
-/obj/item/reagent_containers/food/snacks/store/bread/Initialize()
- . = ..()
- RegisterSignal(src, COMSIG_MOVABLE_TELEPORTED , .proc/bread_teleport)
-
-/obj/item/reagent_containers/food/snacks/store/bread/proc/bread_teleport(channel)
+/obj/item/reagent_containers/food/snacks/store/bread/proc/bread_teleport()
// you did WHAT?
- if(channel == TELEPORT_CHANNEL_BLUESPACE || channel == TELEPORT_CHANNEL_QUANTUM)
- new /mob/living/simple_animal/bread(get_turf(src))
- visible_message("The [src] begins to deform and grow grotesque tumors!")
- qdel(src)
+ new /mob/living/simple_animal/hostile/bread(get_turf(src))
+ visible_message("[src] begins to deform and grow grotesque tumors!")
+ qdel(src)
/obj/item/reagent_containers/food/snacks/breadslice
icon = 'icons/obj/food/burgerbread.dmi'
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index 8db32b304b..75bfdb8eb5 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 71abfdea8e..04cadaef0e 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -2716,6 +2716,7 @@
#include "code\modules\mob\living\simple_animal\hostile\banana_spider.dm"
#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bread.dm"
#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
#include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm"
#include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm"