diff --git a/src/empathy-new-chatroom-dialog.c b/src/empathy-new-chatroom-dialog.c
index f27e8de..f60473a 100644
--- a/src/empathy-new-chatroom-dialog.c
+++ b/src/empathy-new-chatroom-dialog.c
@@ -211,6 +211,9 @@ empathy_new_chatroom_dialog_show (GtkWindow *parent)
 	g_signal_connect (GTK_COMBO_BOX (dialog->account_chooser), "changed",
 			  G_CALLBACK (new_chatroom_dialog_account_changed_cb),
 			  dialog);
+	g_signal_connect (GTK_COMBO_BOX (dialog->account_chooser), "ready",
+			  G_CALLBACK (new_chatroom_dialog_account_ready_cb),
+			  dialog);
 	new_chatroom_dialog_account_changed_cb (GTK_COMBO_BOX (dialog->account_chooser),
 						dialog);
 
@@ -516,6 +519,17 @@ out:
 }
 
 static void
+new_chatroom_dialog_account_ready_cb (GtkComboBox             *combobox,
+					EmpathyNewChatroomDialog *dialog)
+{
+	gpointer iter;
+	
+	iter = g_object_get_data(dialog,"last_active");
+	
+	gtk_combo_box_set_active_iter (combobox,iter);		
+}
+
+static void
 new_chatroom_dialog_button_close_error_clicked_cb   (GtkButton                *button,
 						     EmpathyNewChatroomDialog *dialog)
 {
@@ -680,7 +694,9 @@ new_chatroom_dialog_join (EmpathyNewChatroomDialog *dialog)
 
 	account_chooser = EMPATHY_ACCOUNT_CHOOSER (dialog->account_chooser);
 	account = empathy_account_chooser_get_account (account_chooser);
-
+	
+	g_object_set_data(dialog,"last_active",account);
+	
 	if (!EMP_STR_EMPTY (server)) {
 		room_name = g_strconcat (room, "@", server, NULL);
 	} else {
