diff -ruN evolution-2.27.92.old/plugins/google-account-setup/google-source.c evolution-2.27.92/plugins/google-account-setup/google-source.c
--- evolution-2.27.92.old/plugins/google-account-setup/google-source.c	2009-09-07 02:24:59.000000000 +0300
+++ evolution-2.27.92/plugins/google-account-setup/google-source.c	2009-09-10 17:18:19.000000000 +0300
@@ -41,6 +41,7 @@
 
 #include <libedataserver/e-url.h>
 #include <libedataserver/e-account-list.h>
+#include <libedataserver/e-proxy.h>
 #include <libecal/e-cal.h>
 #include <libedataserverui/e-cell-renderer-color.h>
 #include <libedataserverui/e-passwords.h>
@@ -473,6 +474,25 @@
 }
 
 static void
+update_proxy_settings (GDataService *service, const gchar *uri)
+{
+	EProxy *proxy;
+	SoupURI *proxy_uri = NULL;
+
+	proxy = e_proxy_new ();
+	e_proxy_setup_proxy (proxy);
+
+	/* use proxy if necessary */
+
+	if (e_proxy_require_proxy_for_uri (proxy, uri)) {
+		proxy_uri = e_proxy_peek_uri_for (proxy, uri);
+	}
+
+	gdata_service_set_proxy (service, proxy_uri);
+	g_object_unref (proxy);
+}
+
+static void
 retrieve_list_clicked (GtkButton *button, GtkComboBox *combo)
 {
 	ESource *source;
@@ -515,6 +535,7 @@
 
 	ssl = e_source_get_property (source, "ssl");
 	get_subscribed_url = g_strconcat ((!ssl || g_str_equal (ssl, "1")) ? "https" : "http", URL_GET_SUBSCRIBED_CALENDARS, NULL);
+	update_proxy_settings (GDATA_SERVICE (service), get_subscribed_url);
 	feed = gdata_service_get_feed (GDATA_SERVICE (service), get_subscribed_url, &error);
 	g_free (get_subscribed_url);
 
