diff --git a/src/p_inter.c b/src/p_inter.c
index 601f2677bd27ecab5b20aad6b153abf5cf601212..582cdb0d091df4fc6b0ee9d5698babcff6acd9fb 100644
--- a/src/p_inter.c
+++ b/src/p_inter.c
@@ -738,7 +738,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
 		// Secret emblem thingy
 		case MT_EMBLEM:
 			{
-				if (demoplayback || (player->bot && player->bot != BOT_MPAI) || special->health > MAXEMBLEMS)
+				if (demoplayback || (player->bot && player->bot != BOT_MPAI) || special->health <= 0 || special->health > MAXEMBLEMS)
 					return;
 				emblemlocations[special->health-1].collected = true;