diff --git a/Sources/Media Library/MediaViewControllers/MediaViewController.swift b/Sources/Media Library/MediaViewControllers/MediaViewController.swift
index cc5a8ee18f5f8f6030df6d7c0941b3a297c581a7..3ebb401b55e5d7c243180099f9a76a7bb0455d24 100644
--- a/Sources/Media Library/MediaViewControllers/MediaViewController.swift	
+++ b/Sources/Media Library/MediaViewControllers/MediaViewController.swift	
@@ -418,8 +418,8 @@ extension MediaViewController {
                                   image: UIImage(systemName: "square.grid.2x2"),
                                   state: isGridLayout ? .on : .off,
                                   handler: {
-            [unowned self] _ in
-            mediaCategoryViewController.handleLayoutChange(gridLayout: true)
+            [unowned self, weak mediaCategoryViewController] _ in
+            mediaCategoryViewController?.handleLayoutChange(gridLayout: true)
             menuButton.menu = generateMenu(viewController: mediaCategoryViewController)
         })
 
@@ -427,8 +427,8 @@ extension MediaViewController {
                                   image: UIImage(systemName: "list.bullet"),
                                   state: isGridLayout ? .off : .on,
                                   handler: {
-            [unowned self] _ in
-            mediaCategoryViewController.handleLayoutChange(gridLayout: false)
+            [unowned self, weak mediaCategoryViewController] _ in
+            mediaCategoryViewController?.handleLayoutChange(gridLayout: false)
             menuButton.menu = generateMenu(viewController: mediaCategoryViewController)
         })
 
@@ -463,8 +463,8 @@ extension MediaViewController {
                                   image: actionImage,
                                   state: currentSort ? .on : .off,
                                   handler: {
-                [unowned self] _ in
-                mediaCategoryViewController.executeSortAction(with: criterion,
+                [unowned self, weak mediaCategoryViewController] _ in
+                mediaCategoryViewController?.executeSortAction(with: criterion,
                                                               desc: !sortModel.desc)
                 menuButton.menu = generateMenu(viewController: mediaCategoryViewController)
             })
@@ -497,8 +497,8 @@ extension MediaViewController {
     @available(iOS 14.0, *)
     func generateHistoryMenu() -> UIMenu {
         let historyAction = UIAction(title: NSLocalizedString("BUTTON_HISTORY", comment: ""),
-                                     image: UIImage(systemName: "clock.arrow.2.circlepath")) { _ in
-            self.handleHistory()
+                                     image: UIImage(systemName: "clock.arrow.2.circlepath")) { [weak self] _ in
+            self?.handleHistory()
         }
 
         historyAction.accessibilityLabel = NSLocalizedString("BUTTON_HISTORY", comment: "")
@@ -542,8 +542,8 @@ extension MediaViewController {
             let includeAllArtist = UIAction(title: NSLocalizedString("HIDE_FEAT_ARTISTS", comment: ""),
                                             image: UIImage(systemName: "person.3"),
                                             state: isIncludeAllArtistActive ? .on : .off,
-                                            handler: { _ in
-                mediaCategoryViewController.actionSheetSortSectionHeaderShouldHideFeatArtists(onSwitchIsOnChange: !isIncludeAllArtistActive)
+                                            handler: { [weak mediaCategoryViewController] _ in
+                mediaCategoryViewController?.actionSheetSortSectionHeaderShouldHideFeatArtists(onSwitchIsOnChange: !isIncludeAllArtistActive)
             })
 
             additionalMenuItems.append(includeAllArtist)
@@ -553,8 +553,8 @@ extension MediaViewController {
             let hideTrackNumbers = UserDefaults.standard.bool(forKey: kVLCAudioLibraryHideTrackNumbers)
             let hideTrackNumbersAction = UIAction(title: NSLocalizedString("HIDE_TRACK_NUMBERS", comment: ""),
                                                      state: hideTrackNumbers ? .on : .off,
-                                                     handler: { _ in
-                mediaCategoryViewController.actionSheetSortSectionHeaderShouldHideTrackNumbers(onSwitchIsOnChange: !hideTrackNumbers)
+                                                     handler: { [weak mediaCategoryViewController] _ in
+                mediaCategoryViewController?.actionSheetSortSectionHeaderShouldHideTrackNumbers(onSwitchIsOnChange: !hideTrackNumbers)
             })
 
             additionalMenuItems.append(hideTrackNumbersAction)