diff --git a/libraries/entities-renderer/src/EntityTreeRenderer.cpp b/libraries/entities-renderer/src/EntityTreeRenderer.cpp index 3837be5c9c..9c215ff09c 100644 --- a/libraries/entities-renderer/src/EntityTreeRenderer.cpp +++ b/libraries/entities-renderer/src/EntityTreeRenderer.cpp @@ -229,7 +229,11 @@ void EntityTreeRenderer::clearDomainAndNonOwnedEntities() { for (const auto& entry : _entitiesInScene) { const auto& renderer = entry.second; const EntityItemPointer& entityItem = renderer->getEntity(); - if (!(entityItem->isLocalEntity() || (entityItem->isAvatarEntity() && entityItem->getOwningAvatarID() == sessionUUID))) { + auto parentID = entityItem->getParentID(); + auto parent = getTree()->findEntityByEntityItemID(parentID); + if ((!entityItem->isLocalEntity() || (entityItem->isAvatarEntity() && entityItem->getOwningAvatarID() == sessionUUID))) { + fadeOutRenderable(renderer); + } else if (entityItem->isLocalEntity() && parent && parent->getNestableType() == NestableType::Entity) { fadeOutRenderable(renderer); } else { savedEntities[entry.first] = entry.second;