diff --git a/src/rendering/wmo_renderer.cpp b/src/rendering/wmo_renderer.cpp index f87a87d3..d97018ba 100644 --- a/src/rendering/wmo_renderer.cpp +++ b/src/rendering/wmo_renderer.cpp @@ -1431,6 +1431,10 @@ void WMORenderer::renderGroup(const GroupResources& group, [[maybe_unused]] cons static bool lastUnlit = false; for (const auto& mb : group.mergedBatches) { + // Skip untextured batches — these are collision/placeholder geometry + // that renders as solid grey when drawn with the fallback white texture. + if (!mb.hasTexture) continue; + if (mb.texId != lastBoundTex) { glBindTexture(GL_TEXTURE_2D, mb.texId); lastBoundTex = mb.texId;