diff --git a/src/p_map.c b/src/p_map.c
index 668a8ab6413ccda17adccf994c18e7f2dc58f58d..98b81912d62731d4f2631b66c09c9ed156d1302c 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -1258,8 +1258,9 @@ static unsigned PIT_DoCheckThing(mobj_t *thing)
 
 		if (tmthing->type != MT_SHELL && tmthing->target && tmthing->target->type == thing->type)
 		{
-			// Don't hit same species as originator.
-			if (thing == tmthing->target)
+			// Don't hit yourself, and if a player, don't hit bots
+			if (thing == tmthing->target
+				|| (thing->player && tmthing->target->player && (thing->player->bot == BOT_2PAI || thing->player->bot == BOT_2PHUMAN)))
 				return CHECKTHING_IGNORE;
 
 			if (thing->type != MT_PLAYER)