diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index 807b6af..b337606 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -1631,6 +1631,9 @@ empathy_send_file_with_file_chooser (EmpathyContact *contact)
 
 	gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (widget), FALSE);
 
+	gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (widget),
+		g_get_home_dir ());
+
 	g_signal_connect (widget, "response",
 			  G_CALLBACK (file_manager_send_file_response_cb),
 			  contact);
@@ -1669,6 +1672,7 @@ void
 empathy_receive_file_with_file_chooser (EmpathyFTHandler *handler)
 {
 	GtkWidget *widget;
+	const gchar *dir;
 
 	widget = gtk_file_chooser_dialog_new (_("Select a destination"),
 					      NULL,
@@ -1683,6 +1687,13 @@ empathy_receive_file_with_file_chooser (EmpathyFTHandler *handler)
 	gtk_file_chooser_set_do_overwrite_confirmation
 		(GTK_FILE_CHOOSER (widget), TRUE);
 
+	dir = g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD);
+	if (dir == NULL)
+		/* Fallback to $HOME if $XDG_DOWNLOAD_DIR is not set */
+		dir = g_get_home_dir ();
+
+	gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (widget), dir);
+
 	g_signal_connect (widget, "response",
 		G_CALLBACK (file_manager_receive_file_response_cb), handler);
 
