diff --git a/src/p_spec.c b/src/p_spec.c
index cac822ac8508f8214a8a4895dee21c9a5170442e..81994d46c3f18eb8ed9f11807d6646d6fea140cc 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -4671,11 +4671,11 @@ void P_UpdateSpecials(void)
 	// ANIMATE TEXTURES
 	for (anim = anims; anim < lastanim; anim++)
 	{
-		for (i = anim->basepic; i < anim->basepic + anim->numpics; i++)
+		for (i = 0; i < anim->numpics; i++)
 		{
 			pic = anim->basepic + ((leveltime/anim->speed + i) % anim->numpics);
 			if (anim->istexture)
-				texturetranslation[i] = pic;
+				texturetranslation[anim->basepic+i] = pic;
 		}
 	}