diff --git a/src/dialogs.py b/src/dialogs.py
index b5a02d81c57c0517779c6dbad9f46dece7463562..befb3679749566bdbdfcd029a2c2b71da45d706d 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -2397,7 +2397,7 @@ class JoinGroupchatWindow:
             else:
                 show = r_jid
             liststore.append([show, g])
-            server = gajim.get_server_from_jid(r_jid)      
+            server = gajim.get_server_from_jid(r_jid)
             if server not in server_list and not server.startswith('irc'):
                 server_list.append(server)
 
@@ -2543,7 +2543,7 @@ class JoinGroupchatWindow:
             ErrorDialog(_('This is not a group chat'),
                 _('%s is not the name of a group chat.') % room_jid)
             return
-        
+
         full_jid = room_jid + '/' + nickname
         if full_jid in self.recently_groupchat:
             self.recently_groupchat.remove(full_jid)
diff --git a/src/plugins/gui.py b/src/plugins/gui.py
index 1029662ce83c668387b4f0d3dd7fc5ec40b054a1..6747ab6a9c9da9df5a75152c7e7184527a94105c 100644
--- a/src/plugins/gui.py
+++ b/src/plugins/gui.py
@@ -306,19 +306,21 @@ class GajimPluginConfigDialog(gtk.Dialog):
         gtk.Dialog.__init__(self, '%s %s'%(plugin.name, _('Configuration')),
                                                                     **kwargs)
         self.plugin = plugin
-        self.add_button('gtk-close', gtk.RESPONSE_CLOSE)
-
+        button = self.add_button('gtk-close', gtk.RESPONSE_CLOSE)
+        button.connect('clicked', self.on_close_button_clicked)
         self.child.set_spacing(3)
 
         self.init()
 
+    def on_close_button_clicked(self, widget):
+        self.hide()
+
     @log_calls('GajimPluginConfigDialog')
     def run(self, parent=None):
         self.set_transient_for(parent)
         self.on_run()
         self.show_all()
-        result =  super(GajimPluginConfigDialog, self).run()
-        self.hide()
+        result =  super(GajimPluginConfigDialog, self)
         return result
 
     def init(self):