diff --git a/spyder/widgets/variableexplorer/collectionseditor.py b/spyder/widgets/variableexplorer/collectionseditor.py
index <HASH>..<HASH> 100644
--- a/spyder/widgets/variableexplorer/collectionseditor.py
+++ b/spyder/widgets/variableexplorer/collectionseditor.py
@@ -1421,8 +1421,13 @@ class CollectionsEditor(QDialog):
         self.setWindowTitle(self.widget.get_title())

         if icon is None:

             self.setWindowIcon(ima.icon('dictedit'))

-        # Make the dialog act as a window

-        self.setWindowFlags(Qt.Window)

+

+        if sys.platform == 'darwin':

+            # See: https://github.com/spyder-ide/spyder/issues/9051

+            self.setWindowFlags(Qt.Tool)

+        else:

+            # Make the dialog act as a window

+            self.setWindowFlags(Qt.Window)

 

     @Slot()

     def save_and_close_enable(self):
Make several varexp editors stay on top