diff --git a/src/p_user.c b/src/p_user.c
index 292bad2af1a1b46039e45538aba99d82af3628c2..f8d1dbbc19eef5edac556f806e349331403d62ee 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -349,7 +349,7 @@ void P_GiveEmerald(boolean spawnObj)
 			P_SetMobjState(emmo, mobjinfo[MT_GOTEMERALD].meleestate + em);
 			
 			// Make sure we're not being carried before our tracer is changed
-			if (players[i].powers[pw_carry] != CR_NONE)
+			if (players[i].powers[pw_carry] == CR_PLAYER)
 				players[i].powers[pw_carry] = CR_NONE;
 			
 			P_SetTarget(&players[i].mo->tracer, emmo);