diff --git a/code/datums/uplink_items/uplink_traitor.dm b/code/datums/uplink_items/uplink_traitor.dm
index 21ec9e39808..6826ebe1ca8 100644
--- a/code/datums/uplink_items/uplink_traitor.dm
+++ b/code/datums/uplink_items/uplink_traitor.dm
@@ -438,6 +438,22 @@
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
surplus = 50
+/datum/uplink_item/dangerous/bulldog_traitor
+ name = "Bulldog Shotgun"
+ desc = "Lean and mean: Optimized for people that want to get up close and personal. Comes loaded with rubbershot. Extra Ammo sold separately."
+ reference = "BLSG"
+ item = /obj/item/gun/projectile/automatic/shotgun/bulldog/traitor
+ cost = 50
+ excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
+
+/datum/uplink_item/ammo/bull_rubbershot
+ name = "Bulldog - 12g Rubbershot Magazine"
+ desc = "An additional 8-round rubbershot magazine for use in the Bulldog shotgun."
+ reference = "12BRU"
+ item = /obj/item/ammo_box/magazine/m12g/rubbershot
+ cost = 10
+ excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
+
/datum/uplink_item/dangerous/guardian
name = "Holoparasites"
reference = "HPA"
diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm
index 69f6eab960c..aa137038259 100644
--- a/code/modules/projectiles/ammunition.dm
+++ b/code/modules/projectiles/ammunition.dm
@@ -212,6 +212,8 @@
user.drop_item()
AC.loc = src
num_loaded++
+ else
+ to_chat(user, "You are unable to fit [AC] into \the [src].")
if(num_loaded)
if(!silent)
to_chat(user, "You load [num_loaded] shell\s into \the [src]!")
diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm
index be5694f1bf6..f33f8eddec2 100644
--- a/code/modules/projectiles/ammunition/magazines.dm
+++ b/code/modules/projectiles/ammunition/magazines.dm
@@ -466,6 +466,16 @@
icon_state = "m12gb"
ammo_type = /obj/item/ammo_casing/shotgun/buckshot
+/obj/item/ammo_box/magazine/m12g/rubbershot
+ name = "shotgun magazine (12g rubbershot)"
+ icon_state = "m12gb"
+ ammo_type = /obj/item/ammo_casing/shotgun/rubbershot
+
+/obj/item/ammo_box/magazine/m12g/rubbershot/give_round(obj/item/ammo_casing/R, replace_spent)
+ if(istype(R, /obj/item/ammo_casing/shotgun/frag12) || istype(R, /obj/item/ammo_casing/shotgun/buckshot))
+ return 0
+ return ..()
+
/obj/item/ammo_box/magazine/m12g/stun
name = "shotgun magazine (12g taser slugs)"
icon_state = "m12gs"
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 3162f234d2e..e2d84256a7e 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -350,6 +350,10 @@
..()
empty_alarm()
+// Standard traitor uplink variant
+/obj/item/gun/projectile/automatic/shotgun/bulldog/traitor
+ mag_type = /obj/item/ammo_box/magazine/m12g/rubbershot
+
//////////////////////////////
// MARK: IK-M2 LASER CARBINE
//////////////////////////////