diff --git a/plugins/plugin_installer/plugin_installer.py b/plugins/plugin_installer/plugin_installer.py
index 56373b54a7c81a4906b88d21bdfbfc663b3675c4..b78572f6359d66733e9ed26d1a3e41bf52bc7325 100644
--- a/plugins/plugin_installer/plugin_installer.py
+++ b/plugins/plugin_installer/plugin_installer.py
@@ -432,7 +432,8 @@ class Ftp(threading.Thread):
                     print 'ERROR: cannot read file "%s"' % filename
                     os.unlink(filename)
         self.ftp.quit()
-        self.window.emit('plugin_downloaded', self.remote_dirs)
+        gobject.idle_add(self.window.emit, 'plugin_downloaded',
+            self.remote_dirs)
         gobject.source_remove(self.pulse)