diff --git a/spyderlib/widgets/externalshell/namespacebrowser.py b/spyderlib/widgets/externalshell/namespacebrowser.py
index <HASH>..<HASH> 100644
--- a/spyderlib/widgets/externalshell/namespacebrowser.py
+++ b/spyderlib/widgets/externalshell/namespacebrowser.py
@@ -249,14 +249,23 @@ class NamespaceBrowser(QWidget):
             settings = self.get_view_settings()

             communicate(self._get_sock(),

                         'set_remote_view_settings()', settings=[settings])

-        

+

     def visibility_changed(self, enable):

-        """Notify the widget whether its container (the namespace browser 

+        """Notify the widget whether its container (the namespace browser

         plugin is visible or not"""

-        self.is_visible = enable

-        if enable:

-            self.refresh_table()

-        

+        # This is slowing down Spyder a lot if too much data is present in

+        # the Variable Explorer, and users give focus to it after being hidden.

+        # This also happens when the Variable Explorer is visible and users

+        # give focus to Spyder after using another application (like Chrome

+        # or Firefox).

+        # That's why we've decided to remove this feature

+        # Fixes Issue 2593

+        #

+        # self.is_visible = enable

+        # if enable:

+        #     self.refresh_table()

+        pass

+

     def toggle_auto_refresh(self, state):

         """Toggle auto refresh state"""

         self.autorefresh = state
Variable Explorer: Don't refresh it after giving focus to it

Fixes #<I>