diff --git a/src/p_map.c b/src/p_map.c
index 92ed14f5782e905d16e850b7b537cb113726cab3..63ba258f9dc566e8c0adc3fad6ede0bc5c52d6c9 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -302,9 +302,9 @@ static void P_DoTailsCarry(player_t *sonic, player_t *tails)
 	INT32 p;
 	fixed_t zdist; // z distance between the two players' bottoms
 
-	if (tails->powers[pw_carry] == CR_PLAYER)// && tails->mo->tracer == sonic->mo) <-- why was this here?
+	if (tails->powers[pw_carry])// && tails->mo->tracer == sonic->mo) <-- why was this here?
 		return;
-	if (sonic->powers[pw_carry] == CR_PLAYER && sonic->mo->tracer == tails->mo)
+	if (sonic->powers[pw_carry])
 		return;
 
 	if (tails->charability != CA_FLY && tails->charability != CA_SWIM)
@@ -319,9 +319,6 @@ static void P_DoTailsCarry(player_t *sonic, player_t *tails)
 	if (sonic->pflags & PF_NIGHTSMODE)
 		return;
 
-	if (sonic->mo->tracer && sonic->powers[pw_carry] == CR_ZOOMTUBE)
-		return; // don't steal players from zoomtubes!
-
 	if ((sonic->mo->eflags & MFE_VERTICALFLIP) != (tails->mo->eflags & MFE_VERTICALFLIP))
 		return; // Both should be in same gravity