The bug
The following is based on decompiled version of Minecraft 1.10.2 using MCP. All method and class names are the names used in the decompiled version.
The public void deleteTexture(ResourceLocation textureLocation)
method of the net.minecraft.client.renderer.texture.TextureManager
class is not removing the entry for the provided ResourceLocation
in the mapTextureObjects
map.
public void deleteTexture(ResourceLocation textureLocation)
{
ITextureObject itextureobject = this.getTexture(textureLocation);
if (itextureobject != null)
{
// suggested fix: add this line
this.mapTextureObjects.remove(textureLocation);
TextureUtil.deleteTexture(itextureobject.getGlTextureId());
}
}
This is very likely still the case in 1.11 snapshot 16w42a:
Class:
byu
Method:
public void c(kq ?)
public void c(kq ?)
{
byv ? = b(?);
if (? != null) {
byw.a(?.b());
}
}
Comments

I believe this was fixed in 1.20 pre-3
Does this still affect the latest versions of the game (Stable 1.15.2 / Snapshot 20w21a)? If so, please update this ticket accordingly - Unfortunately, I am unable to do so myself.
Quick Links:
📓 Issue Guidelines – 💬 Community Support – 📧 Customer Support – ✍️ Feedback and Suggestions – 📖 Game Wiki