Index: evolution-data-server/servers/exchange/storage/exchange-account.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/exchange/storage/exchange-account.c,v
retrieving revision 1.32
diff -u -p -r1.32 exchange-account.c
--- evolution-data-server/servers/exchange/storage/exchange-account.c	10 May 2006 08:55:24 -0000	1.32
+++ evolution-data-server/servers/exchange/storage/exchange-account.c	17 Jul 2006 12:53:05 -0000
@@ -672,7 +672,7 @@ exchange_account_discover_shared_folder 
 				EXCHANGE_ACCOUNT_FOLDER_GENERIC_ERROR);
 
 	if (!account->priv->gc)
-		return EXCHANGE_ACCOUNT_FOLDER_UNSUPPORTED_OPERATION;
+		return EXCHANGE_ACCOUNT_FOLDER_GC_NOTREACHABLE;
 
 	email = strchr (user, '<');
 	if (email)
@@ -709,9 +709,12 @@ exchange_account_discover_shared_folder 
 	g_mutex_unlock (account->priv->discover_data_lock);
 
 	if (status != E2K_GLOBAL_CATALOG_OK) {
-		return (status == E2K_GLOBAL_CATALOG_ERROR) ?
-			EXCHANGE_ACCOUNT_FOLDER_GENERIC_ERROR :
-			EXCHANGE_ACCOUNT_FOLDER_DOES_NOT_EXIST;
+		if (status == E2K_GLOBAL_CATALOG_ERROR)
+			return EXCHANGE_ACCOUNT_FOLDER_GENERIC_ERROR;
+		if (status == E2K_GLOBAL_CATALOG_NO_SUCH_USER)
+			return EXCHANGE_ACCOUNT_FOLDER_NO_SUCH_USER;
+		else
+			return EXCHANGE_ACCOUNT_FOLDER_DOES_NOT_EXIST;
 	}
 
 	hier = get_hierarchy_for (account, entry);
@@ -1984,6 +1987,8 @@ exchange_account_new (EAccountList *acco
 	}
 
 	account = g_object_new (EXCHANGE_TYPE_ACCOUNT, NULL);
+	if (!account)
+		return NULL;
 	account->priv->account_list = account_list;
 	g_object_ref (account_list);
 	account->priv->account = adata;
Index: evolution-data-server/servers/exchange/storage/exchange-account.h
===================================================================
RCS file: /cvs/gnome/evolution-data-server/servers/exchange/storage/exchange-account.h,v
retrieving revision 1.8
diff -u -p -r1.8 exchange-account.h
--- evolution-data-server/servers/exchange/storage/exchange-account.h	21 Dec 2005 06:43:57 -0000	1.8
+++ evolution-data-server/servers/exchange/storage/exchange-account.h	17 Jul 2006 12:54:57 -0000
@@ -136,6 +136,8 @@ typedef enum {
 	EXCHANGE_ACCOUNT_FOLDER_PERMISSION_DENIED,
 	EXCHANGE_ACCOUNT_FOLDER_OFFLINE,
 	EXCHANGE_ACCOUNT_FOLDER_UNSUPPORTED_OPERATION,
+	EXCHANGE_ACCOUNT_FOLDER_GC_NOTREACHABLE,
+	EXCHANGE_ACCOUNT_FOLDER_NO_SUCH_USER,
 	EXCHANGE_ACCOUNT_FOLDER_GENERIC_ERROR
 } ExchangeAccountFolderResult;
 
Index: evolution/plugins/exchange-operations/exchange-folder-subscription.c
===================================================================
RCS file: /cvs/gnome/evolution/plugins/exchange-operations/exchange-folder-subscription.c,v
retrieving revision 1.9
diff -u -p -r1.9 exchange-folder-subscription.c
--- evolution/plugins/exchange-operations/exchange-folder-subscription.c	7 Jun 2006 07:04:44 -0000	1.9
+++ evolution/plugins/exchange-operations/exchange-folder-subscription.c	17 Jul 2006 12:55:37 -0000
@@ -246,6 +246,12 @@ subscribe_to_folder (GtkWidget *dialog, 
 				case EXCHANGE_ACCOUNT_FOLDER_UNSUPPORTED_OPERATION:
 					e_error_run (NULL, ERROR_DOMAIN ":folder-unsupported-error", NULL);
 					break;
+				case EXCHANGE_ACCOUNT_FOLDER_GC_NOTREACHABLE:
+					e_error_run (NULL, ERROR_DOMAIN ":folder-no-gc-error", NULL);
+					break;
+				case EXCHANGE_ACCOUNT_FOLDER_NO_SUCH_USER:
+					e_error_run (NULL, ERROR_DOMAIN ":no-user-error", user_email_address, NULL);
+					break;
 				case EXCHANGE_ACCOUNT_FOLDER_GENERIC_ERROR:
 					e_error_run (NULL, ERROR_DOMAIN ":folder-generic-error", NULL);
 					break;
Index: evolution/plugins/exchange-operations/org-gnome-exchange-operations.error.xml
===================================================================
RCS file: /cvs/gnome/evolution/plugins/exchange-operations/org-gnome-exchange-operations.error.xml,v
retrieving revision 1.11
diff -u -p -r1.11 org-gnome-exchange-operations.error.xml
--- evolution/plugins/exchange-operations/org-gnome-exchange-operations.error.xml	13 Jun 2006 10:15:40 -0000	1.11
+++ evolution/plugins/exchange-operations/org-gnome-exchange-operations.error.xml	17 Jul 2006 12:56:38 -0000
@@ -232,6 +232,11 @@ username, and password, and try again.</
   <_primary>Unsupported operation</_primary>
  </error>
 
+ <error id="folder-no-gc-error" type="error">
+  <_primary>Global Catalog Server is not reachable</_primary>
+  <_secondary>Please make sure the Global Catalog Sever name is correct.</_secondary> 
+ </error>
+
  <error id="folder-generic-error" type="error">
   <_primary>Generic error</_primary>
  </error>
