          :focused-child this-focused-child}
         (and (:closed-focus-root component) (#{:none :throws-focus :requests-focus} this-mode))
         (having-focus-state component "closed root by mouse")
-        (focus-uninterested? component)
-        {:mode :got-trigger
-         :focused-child nil}
+        (and (focus-uninterested? component) (not= :parent-of-focused this-mode))
+        (do
+          (fg/log-debug "Trigger received by focus-uninterested" (:id component))
+          (got-trigger))
         :else old-focus-state)
 
       (fgc/parent-reason? reason)

                                                         :first)
                                                       nil)))]
                                 (focus-child-by-direction child-id (:throw-mode parent-focus-state))
                                 (having-focus-state component (str "from parent " parent-id " that requested")))
                               ;; No change in state but track focus movent direction
                               (assoc old-focus-state :throw-mode (:throw-mode parent-focus-state)))


                                              :focused-child this-focused-child})

          :got-trigger (cond
                         ;; Trigger finally made it to focusable
                         (and (:focusable component) (not= :parent-of-focused this-mode)) ;maybe accepts-focus? instead of focusable
                         (having-focus-state component "trigger")
                         ;; Trigger reached non focusable, but one that possibly has where to give focus
                         (or
                           (:closed-focus-root component)
                           (get-in-cycle component :first nil))
                         (if-let [first-to-give (get-in-cycle component :first nil)]
                           (temporarily-taken-from-state component "trigger" first-to-give nil)
                           (got-trigger))
                         ;; Just give chance further
                         :else
                         (got-trigger))))

      :else ; Neither event type - ignore
      old-focus-state)))