anchor.diff:      //Check for focusable controls
       for I := 0 to C.ChildCount - 1 do
         if IsFocusAllowed(C.Childs[I]) and (
  -        (C.FocusedControlIndex = -1)                         // In case FocusControl was not set (usually should never happen)
  -        or (C.FocusedControlIndex = C.Childs[I].ControlIndex)  // We've found last focused Control
  -        or (CtrlToFocusI <> -1)) then                   // We find last docused Control on previos iterations
  +        (C.FocusedControlIndex = -1)                          // If FocusControl was not set (no focused element on panel)
  +        or (C.FocusedControlIndex = C.Childs[I].ControlIndex) // We've found last focused Control
  +        or (CtrlToFocusI <> -1)) then                         // We did find last focused Control on previos iterations
         begin
           if C.Childs[I].IsMarkedToUnfocus then
           begin
  
positive.code:     end;
  
      if (fCtrlFocus <> nil) and Assigned(fCtrlFocus.fOnFocus) then
        fCtrlFocus.fOnFocus(False);
    end;
  
    fCtrlFocus := aCtrl;
  
negative.code: //Focus next focusable control on this Panel
  procedure TKMPanel.FocusNext;
  begin
    if InRange(FocusedControlIndex, 0, ChildCount - 1) then
    begin
      Childs[FocusedControlIndex].IsMarkedToUnfocus := True;
      fCollection.UpdateFocus(Self);
  