Index: plugins/exchange-operations/exchange-contacts.c
===================================================================
RCS file: /cvs/gnome/evolution/plugins/exchange-operations/exchange-contacts.c,v
retrieving revision 1.22
diff -u -p -r1.22 exchange-contacts.c
--- plugins/exchange-operations/exchange-contacts.c	17 Apr 2006 09:36:16 -0000	1.22
+++ plugins/exchange-operations/exchange-contacts.c	18 Apr 2006 14:00:34 -0000
@@ -109,6 +109,7 @@ e_exchange_contacts_pcontacts_on_change 
 
 	selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
 	gtk_tree_selection_get_selected(selection, &model, &iter);
+
 	gchar *ruri;
 	
 	gtk_tree_model_get (model, &iter, CONTACTSRURI_COL, &ruri, -1);
@@ -405,6 +406,7 @@ e_exchange_contacts_commit (EPlugin *epl
 	ExchangeAccount *account;
 	ExchangeAccountFolderResult result;
 	gint offline_status;
+	gboolean rename = FALSE;
 		
 	uri_text = e_source_get_uri (source);
 	if (uri_text && strncmp (uri_text, "exchange", 8)) {
@@ -467,27 +469,30 @@ e_exchange_contacts_commit (EPlugin *epl
 	}
 	else if (gruri && strcmp (path, oldpath )) {
 		/* Rename the folder */
+		rename = TRUE;
 		result = exchange_account_xfer_folder (account, oldpath, path, TRUE);
-		if (result == EXCHANGE_ACCOUNT_FOLDER_OK) {
-			e_source_set_name (source, gname);
-			e_source_set_relative_uri (source, ruri);
-			e_source_set_property (source, "username", username);
-			e_source_set_property (source, "auth-domain", "Exchange");
-			if (authtype) {
-				e_source_set_property (source, "auth-type", authtype);
-				g_free (authtype);
-			}
-			e_source_set_property (source, "auth", "plain/password");
-			exchange_operations_update_child_esources (source, 
-								   contacts_old_src_uri, 
-								   ruri);
-		}
 	}
 	else {
 		/* Nothing happened specific to exchange; just return */
 		goto done;
 	}
 	switch (result) {
+	case EXCHANGE_ACCOUNT_FOLDER_OK:
+		e_source_set_name (source, gname);
+		e_source_set_relative_uri (source, ruri);
+		e_source_set_property (source, "username", username);
+		e_source_set_property (source, "auth-domain", "Exchange");
+		if (authtype) {
+			e_source_set_property (source, "auth-type", authtype);
+			g_free (authtype);
+		}
+		e_source_set_property (source, "auth", "plain/password");
+		if (rename) {
+			exchange_operations_update_child_esources (source,
+							contacts_old_src_uri,
+							ruri);
+		}
+		break;
 	case EXCHANGE_ACCOUNT_FOLDER_ALREADY_EXISTS:
 		e_error_run (NULL, ERROR_DOMAIN ":folder-exists-error", NULL);
 		break;
Index: plugins/exchange-operations/exchange-calendar.c
===================================================================
RCS file: /cvs/gnome/evolution/plugins/exchange-operations/exchange-calendar.c,v
retrieving revision 1.21
diff -u -p -r1.21 exchange-calendar.c
--- plugins/exchange-operations/exchange-calendar.c	17 Apr 2006 09:36:16 -0000	1.21
+++ plugins/exchange-operations/exchange-calendar.c	18 Apr 2006 14:01:06 -0000
@@ -376,6 +376,7 @@ e_exchange_calendar_commit (EPlugin *epl
 	ExchangeAccountFolderResult result;
 	ExchangeConfigListenerStatus status;
 	gint offline_status;
+	gboolean rename = FALSE;
 
 	uri_text = e_source_get_uri (source);
 	if (uri_text && strncmp (uri_text, "exchange", 8)) {
@@ -412,7 +413,6 @@ e_exchange_calendar_commit (EPlugin *epl
 		ftype = g_strdup ("mail");
 	}
 	
-
 	gname = (gchar*) e_source_peek_name (source);
 	gruri = (gchar*) e_source_peek_relative_uri (source);
 	
@@ -456,7 +456,16 @@ e_exchange_calendar_commit (EPlugin *epl
 	}
 	else if (gruri && strcmp (path, oldpath)) {
 		/* Rename the folder */
+		rename = TRUE;
 		result = exchange_account_xfer_folder (account, oldpath, path, TRUE);
+	}
+	else {
+		/* Nothing happened specific to exchange; just return */
+		goto done;
+	}
+
+	switch (result) {
+	case EXCHANGE_ACCOUNT_FOLDER_OK:
 		if (result == EXCHANGE_ACCOUNT_FOLDER_OK) {
 			e_source_set_name (source, gname);
 			e_source_set_relative_uri (source, ruri);
@@ -467,17 +476,13 @@ e_exchange_calendar_commit (EPlugin *epl
 				g_free (authtype);
 			}
 			e_source_set_property (source, "auth", "1");
-			exchange_operations_update_child_esources (source, 
+			if (rename) {
+				exchange_operations_update_child_esources (source, 
 							   calendar_old_source_uri, 
 							   ruri);
+			}
 		}
-	}
-	else {
-		/* Nothing happened specific to exchange; just return */
-		goto done;
-	}
-
-	switch (result) {
+		break;
 	case EXCHANGE_ACCOUNT_FOLDER_ALREADY_EXISTS:
 		e_error_run (NULL, ERROR_DOMAIN ":folder-exists-error", NULL);
 		break;
