diff --git a/esoui/libraries/zo_templates/optionswindowtemplate.lua b/esoui/libraries/zo_templates/optionswindowtemplate.lua
index 320fa7f..5e9899a 100755
--- a/esoui/libraries/zo_templates/optionswindowtemplate.lua
+++ b/esoui/libraries/zo_templates/optionswindowtemplate.lua
@@ -97,12 +97,23 @@ local function UpdateOptionControlState(control, updateTable, stateType)
     if updateFn then updateFn(control) end
 
     local nameControl = GetControl(control, "Name")
+    local boxControl = GetControl(control, "Checkbox")
+
     if stateType == ENABLED_STATE then
         nameControl:SetColor(ZO_DEFAULT_ENABLED_COLOR:UnpackRGBA())
     else
         nameControl:SetColor(ZO_DEFAULT_DISABLED_COLOR:UnpackRGBA())
     end
 
+    if boxControl then
+        -- the checkbox could be in the off state even though we now want it enabled
+        -- so we have to override that color with the appropriate color
+        local currentState = boxControl:GetState()
+        if currentState ~= BSTATE_PRESSED and stateType == ENABLED_STATE then
+            nameControl:SetColor(ZO_DEFAULT_DISABLED_COLOR:UnpackRGBA())
+        end
+    end
+
     control.state = stateType
 end