diff --git a/plugins/gtkgui/dialogs.py b/plugins/gtkgui/dialogs.py
index a9e496cd5fa071ad55221f7316b565e9f33f4bec..93c2930f14d957172faf774e927e0ff6f384744f 100644
--- a/plugins/gtkgui/dialogs.py
+++ b/plugins/gtkgui/dialogs.py
@@ -671,12 +671,31 @@ class Join_groupchat_window:
 			set_text(self.plugin.nicks[self.account])
 		self.xml.signal_autoconnect(self)
 		self.plugin.windows['join_gc'] = self # now add us to open windows
+
+		self.recently_combobox = self.xml.get_widget('recently_combobox')
+		liststore = gtk.ListStore(str)
+		self.recently_combobox.set_model(liststore)
+		cell = gtk.CellRendererText()
+		self.recently_combobox.pack_start(cell, True)
+		self.recently_combobox.add_attribute(cell, 'text', 0)
+#		self.recently_combobox.set_text_column(0)
+		self.recently_groupchat = self.plugin.config['recently_groupchat'].split()
+		for g in self.recently_groupchat:
+			self.recently_combobox.append_text(g)
+
 		self.window.show_all()
 
 	def on_join_groupchat_window_destroy(self, widget):
 		"""close window"""
 		del self.plugin.windows['join_gc'] # remove us from open windows
 
+	def on_recently_combobox_changed(self, widget):
+		model = widget.get_model()
+		iter = widget.get_active_iter()
+		gid = model.get_value(iter, 0)
+		self.xml.get_widget('room_entry').set_text(gid.split('@')[0])
+		self.xml.get_widget('server_entry').set_text(gid.split('@')[1])
+
 	def on_cancel_button_clicked(self, widget):
 		"""When Cancel button is clicked"""
 		widget.get_toplevel().destroy()
@@ -688,6 +707,13 @@ class Join_groupchat_window:
 		server = self.xml.get_widget('server_entry').get_text()
 		password = self.xml.get_widget('password_entry').get_text()
 		jid = '%s@%s' % (room, server)
+		if jid in self.recently_groupchat:
+			self.recently_groupchat.remove(jid)
+		self.recently_groupchat.insert(0, jid)
+		if len(self.recently_groupchat) > 10:
+			self.recently_groupchat = self.recently_groupchat[0:10]
+		self.plugin.config['recently_groupchat'] = \
+			' '.join(self.recently_groupchat)
 		self.plugin.roster.new_group(jid, nickname, self.account)
 		self.plugin.send('GC_JOIN', self.account, (nickname, room, server, \
 			password))
diff --git a/plugins/gtkgui/gtkgui.glade b/plugins/gtkgui/gtkgui.glade
index c2c211252f1afd2016ea8463372eff10e3bcb3df..8b3e44347f7ca96c605262ce27ad9396c22b6cf8 100644
--- a/plugins/gtkgui/gtkgui.glade
+++ b/plugins/gtkgui/gtkgui.glade
@@ -7768,6 +7768,7 @@ Custom</property>
 	  <child>
 	    <widget class="GtkComboBox" id="recently_combobox">
 	      <property name="visible">True</property>
+	      <signal name="changed" handler="on_recently_combobox_changed" last_modification_time="Wed, 06 Apr 2005 22:25:35 GMT"/>
 	    </widget>
 	    <packing>
 	      <property name="left_attach">1</property>
diff --git a/plugins/gtkgui/gtkgui.py b/plugins/gtkgui/gtkgui.py
index b06ed75883a086f3d53ce6fc8f91b0011eb6e5cf..93dd95d7563d938770e805d7549c011da81c20c6 100644
--- a/plugins/gtkgui/gtkgui.py
+++ b/plugins/gtkgui/gtkgui.py
@@ -899,6 +899,7 @@ class plugin:
 			'width': 150,\
 			'height': 400,\
 			'latest_disco_addresses': '',\
+			'recently_groupchat': '',\
 			'before_time': '[',\
 			'after_time': ']',\
 			'before_nickname': '<',\