diff --git a/src/r_things.c b/src/r_things.c
index 3bda42a4a23da8d814726aa0a1121060b7c8c573..c46d8162460e6ac4df025457910f1eae92634628 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -679,7 +679,6 @@ static void AddLongSpriteDefs(UINT16 wadnum, size_t *ptr_spritesadded, size_t *p
 		char *sprname = W_GetLumpFolderNamePK3(wadnum, lumpnum);
 		strupr(sprname);
 		sprnum = R_GetSpriteNumByName(sprname);
-		Z_Free(sprname);
 
 		if (sprnum != NUMSPRITES && R_AddSingleSpriteDef(sprname, &sprites[sprnum], wadnum, folderstart, folderend, true))
 		{
@@ -690,6 +689,8 @@ static void AddLongSpriteDefs(UINT16 wadnum, size_t *ptr_spritesadded, size_t *p
 #endif
 		}
 
+		Z_Free(sprname);
+
 		lumpnum = folderend;
 	}