diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index 6b717a0..e2e70d7 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -3400,11 +3400,14 @@ ephy_web_view_save_sub_resources (EphyWebView *view, const char *uri, GList *sub
   g_free (directory_uri);
 
   file = g_file_new_for_uri (destination_uri);
+
   if (!g_file_make_directory (file, NULL, &error)) {
-    g_warning ("Could not create directory: %s", error->message);
-    g_error_free (error);
-    g_object_unref (file);
-    return;
+    if (error->code != G_IO_ERROR_EXISTS) {
+      g_warning ("Could not create directory: %s", error->message);
+      g_error_free (error);
+      g_object_unref (file);
+      return;
+    }
   }
   g_object_unref (file);
 
diff --git a/lib/ephy-file-chooser.c b/lib/ephy-file-chooser.c
index 2fd9a7d..f64b7c8 100644
--- a/lib/ephy-file-chooser.c
+++ b/lib/ephy-file-chooser.c
@@ -369,6 +369,8 @@ ephy_file_chooser_new (const char *title,
 						 GTK_RESPONSE_ACCEPT);
 	}
 
+  gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
+
 	preview = gtk_image_new ();
 	gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (dialog), preview);
 	g_signal_connect (dialog, "update-preview", G_CALLBACK (ephy_file_chooser_image_preview), preview);
