diff --git a/src/info.c b/src/info.c
index 4812e7e8afb74347debd9e75c378e8ebf932889d..cf6380aab9daee601327d0c7b5f1741cad774832 100644
--- a/src/info.c
+++ b/src/info.c
@@ -822,11 +822,7 @@ state_t states[NUMSTATES] =
 	{SPR_PLAY, SPR2_NSTD, 7, {NULL}, 0, 0, S_PLAY_NIGHTS_STAND},  // S_PLAY_NIGHTS_STAND
 	{SPR_PLAY, SPR2_NFLT, 7, {NULL}, 0, 0, S_PLAY_NIGHTS_FLOAT},  // S_PLAY_NIGHTS_FLOAT
 	{SPR_PLAY, SPR2_NSTN, 2, {NULL}, 0, 0, S_PLAY_NIGHTS_STUN},   // S_PLAY_NIGHTS_STUN
-#ifndef ROTSPRITE
 	{SPR_PLAY, SPR2_NPUL, 1, {NULL}, 0, 0, S_PLAY_NIGHTS_PULL},   // S_PLAY_NIGHTS_PULL
-#else
-	{SPR_PLAY, SPR2_NPUL, 1, {A_RollAngle}, 30, 0, S_PLAY_NIGHTS_PULL},   // S_PLAY_NIGHTS_PULL
-#endif
 	{SPR_PLAY, SPR2_NATK, 1, {NULL}, 0, 0, S_PLAY_NIGHTS_ATTACK}, // S_PLAY_NIGHTS_ATTACK
 
 	// NiGHTS Player, flying and drilling
diff --git a/src/p_user.c b/src/p_user.c
index 216ca770b55eba9be3c226f5d602159859ecb63e..4fc4ff7bbfe822c1a66cdbac733d91a6c8f154ab 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -6748,6 +6748,12 @@ static void P_DoNiGHTSCapsule(player_t *player)
 			P_SetPlayerMobjState(player->mo, S_PLAY_ROLL);
 	}
 
+#ifdef ROTSPRITE
+	if ((player->mo->state == &states[S_PLAY_NIGHTS_PULL])
+	&& (player->mo->sprite2 == SPR2_NGT0))
+		player->mo->rollangle += ANG30;
+#endif
+
 	if (G_IsSpecialStage(gamemap))
 	{ // In special stages, share rings. Everyone gives up theirs to the capsule player always, because we can't have any individualism here!
 		for (i = 0; i < MAXPLAYERS; i++)