     }
 
     @IBAction func handleToggleButtonAction(_ sender: FormatBarItem) {
-        // We're collapsed if the toggle button belongs to the outer stackview
-        let collapsed = (sender.superview == stackView)
-
-        overflowToggleItem.removeFromSuperview()
-
-        if collapsed {
+        // We're currently collapsed if the toggle button belongs to the outer stackview
+        let shouldExpand = (sender.superview == stackView)
+
+        if shouldExpand {
+            animateOverflowToggleOffscreen(completion: {
+                self.rotateOverflowToggleItem(.vertical, animated: false)
+            })
+
             setOverflowItemsVisible(true)
-            animateOverflowToggleItem(.vertical)
+
+            scrollableStackView.addArrangedSubview(overflowToggleItem)
+
         } else {
+            overflowToggleItem.removeFromSuperview()
+
             setOverflowItemsVisible(false)
-            animateOverflowToggleItem(.horizontal)
+            stackView.addArrangedSubview(overflowToggleItem)
+
+            rotateOverflowToggleItem(.horizontal, animated: true)
         }
 
         refreshScrollingLock()

    private func setOverflowItemsVisible(_ visible: Bool) {
        if visible {
            scrollableStackView.addArrangedSubviews(overflowItems)
            scrollableStackView.addArrangedSubview(overflowToggleItem)

            configureConstraints(for: overflowItems, in: stackView)
        } else {

        })
    }


        }
    }

