diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp
index afa766bc6..7ca23ec3d 100644
--- a/source/games/duke/src/actors_r.cpp
+++ b/source/games/duke/src/actors_r.cpp
@@ -128,6 +128,7 @@ void addweapon_r(struct player_struct* p, int weapon)
 		else if (weapon == CROSSBOW_WEAPON)
 		{
 			p->gotweapon.Set(CHICKEN_WEAPON);
+			p->gotweapon.Set(DYNAMITE_WEAPON);
 		}
 		else if (weapon == SLINGBLADE_WEAPON)
 		{
@@ -155,6 +156,10 @@ void addweapon_r(struct player_struct* p, int weapon)
 				p->ammo_amount[SLINGBLADE_WEAPON] = 50;
 			}
 		}
+		if (weapon == CROSSBOW_WEAPON)
+		{
+			p->gotweapon.Set(DYNAMITE_WEAPON);
+		}
 
 		if (weapon != DYNAMITE_WEAPON)
 			cw = weapon;