diff --git a/Mastodon/Scene/Onboarding/PickServer/CategoryPickerSection.swift b/Mastodon/Scene/Onboarding/PickServer/CategoryPickerSection.swift
index 710fe84af..9a0ff6b85 100644
--- a/Mastodon/Scene/Onboarding/PickServer/CategoryPickerSection.swift
+++ b/Mastodon/Scene/Onboarding/PickServer/CategoryPickerSection.swift
@@ -36,11 +36,13 @@ extension CategoryPickerSection {
 
                 let allLanguagesAction = UIAction(title: L10n.Scene.ServerPicker.Language.all) { _ in
                     viewModel.selectedLanguage.value = nil
+                    UISelectionFeedbackGenerator().selectionChanged()
                     cell.titleLabel.text = L10n.Scene.ServerPicker.Button.language
                 }
 
                 let languageActions = viewModel.allLanguages.value.compactMap { language in
                     UIAction(title: language.language ?? language.locale) { action in
+                        UISelectionFeedbackGenerator().selectionChanged()
                         viewModel.selectedLanguage.value = language.locale
                         cell.titleLabel.text = language.language
                     }
@@ -56,21 +58,25 @@ extension CategoryPickerSection {
                 cell.menuButton.isUserInteractionEnabled = true
                 cell.menuButton.isHidden = false
                 cell.menuButton.menu = languageMenu
+                cell.menuButton.showsMenuAsPrimaryAction = true
 
             case .signupSpeed(_):
                 let doesntMatterAction = UIAction(title: L10n.Scene.ServerPicker.SignupSpeed.all) { _ in
                     viewModel.manualApprovalRequired.value = nil
                     cell.titleLabel.text = L10n.Scene.ServerPicker.Button.signupSpeed
+                    UISelectionFeedbackGenerator().selectionChanged()
                 }
 
                 let manualApprovalAction = UIAction(title: L10n.Scene.ServerPicker.SignupSpeed.manuallyReviewed) { action in
                     viewModel.manualApprovalRequired.value = true
                     cell.titleLabel.text = action.title
+                    UISelectionFeedbackGenerator().selectionChanged()
                 }
 
                 let instantSignupAction = UIAction(title: L10n.Scene.ServerPicker.SignupSpeed.instant) { action in
                     viewModel.manualApprovalRequired.value = false
                     cell.titleLabel.text = action.title
+                    UISelectionFeedbackGenerator().selectionChanged()
                 }
 
                 let signupSpeedMenu = UIMenu(title: L10n.Scene.ServerPicker.Button.signupSpeed,
@@ -80,6 +86,7 @@ extension CategoryPickerSection {
                 cell.menuButton.isUserInteractionEnabled = true
                 cell.menuButton.isHidden = false
                 cell.menuButton.menu = signupSpeedMenu
+                cell.menuButton.showsMenuAsPrimaryAction = true
             }
 
             cell.observe(\.isSelected, options: [.initial, .new]) { cell, _ in
diff --git a/Mastodon/Scene/Onboarding/PickServer/View/PickServerServerSectionTableHeaderView.swift b/Mastodon/Scene/Onboarding/PickServer/View/PickServerServerSectionTableHeaderView.swift
index 973a55abe..3d84381dd 100644
--- a/Mastodon/Scene/Onboarding/PickServer/View/PickServerServerSectionTableHeaderView.swift
+++ b/Mastodon/Scene/Onboarding/PickServer/View/PickServerServerSectionTableHeaderView.swift
@@ -98,6 +98,8 @@ extension PickServerServerSectionTableHeaderView {
 extension PickServerServerSectionTableHeaderView: UICollectionViewDelegate {
 
     func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
+        UISelectionFeedbackGenerator().selectionChanged()
+
         collectionView.selectItem(at: indexPath, animated: true, scrollPosition: .centeredHorizontally)
         delegate?.pickServerServerSectionTableHeaderView(self, collectionView: collectionView, didSelectItemAt: indexPath)
     }