diff --git a/esoui/libraries/utility/zo_fadingstationarycontrolbuffer.lua b/esoui/libraries/utility/zo_fadingstationarycontrolbuffer.lua
index 652c515..9b11565 100755
--- a/esoui/libraries/utility/zo_fadingstationarycontrolbuffer.lua
+++ b/esoui/libraries/utility/zo_fadingstationarycontrolbuffer.lua
@@ -43,6 +43,7 @@ function ZO_FadingStationaryControlBuffer:Initialize(control,  maxDisplayedEntri
     self.emptyDeltaTime = 0
     local offsetY = select(6,self.control:GetAnchor())
     self.resetPositionY = offsetY
+    self.controllerType = controllerType
 
     self:InitializeContainerAnimations(containerAnimationName)
 
@@ -122,7 +123,6 @@ do
 
         control.fadeTimeline = self.fadeTimeline
     end
-
 end
 
 local function ReleaseAllChildren(control)
@@ -313,7 +313,7 @@ do
         if not pool then
             local function Factory(pool)
                 local parent = self.control
-                local name = string.format("%s%s%s%f", parent:GetName(), templateName, "Entry", pool:GetNextControlId())
+                local name = string.format("%s%s%s%f", parent:GetName(), templateName, self.controllerType, pool:GetNextControlId())
                 local control = CreateControl(name, parent, CT_CONTROL)
                 control:SetResizeToFitDescendents(true)
                 control.pool = pool
@@ -339,7 +339,7 @@ do
         local pool = pools[templateName]
         if not pool then
             local function Factory(pool)
-                local name = string.format("%s%s", templateName, name)
+                local name = string.format("%s%s%s", templateName, name, self.controllerType)
                 local control = ZO_ObjectPool_CreateNamedControl(name, templateName, pool, pool.parent)
                 control.pool = pool
                 control.type = CONTROL_TYPE_ITEM
@@ -464,13 +464,23 @@ function ZO_FadingStationaryControlBuffer:FlushEntries()
     while #self.queue > 0 do
         local queuedEntry = self.queue[1]
         local templateName = queuedEntry.templateName
+        local persistent = queuedEntry.isPersistent
+
+        local persistHandled = false
+        if persistent then
+            persistHandled = self:TryConcatWithExistingEntry(templateName, queuedEntry, self.activeEntries)
+        end
 
+        if not persistHandled then
             local handled = self:TryConcatWithExistingEntry(templateName, queuedEntry, newBatch)
             if not handled then
                 self:AddToBatch(templateName, queuedEntry, newBatch)
                 handled = true
                 hadEntries = true
             end
+        else
+            self.containerStartTimeMs = GetFrameTimeMilliseconds()
+        end
 
         table.remove(self.queue, 1)
     end