Index: calendar/ChangeLog
===================================================================
--- calendar/ChangeLog	(revision 10182)
+++ calendar/ChangeLog	(working copy)
@@ -1,3 +1,11 @@
+2009-03-18  Milan Crha  <mcrha@redhat.com>
+
+	** Part of fix for bug #575773
+
+	* backends/file/e-cal-backend-file.c:
+	(e_cal_backend_file_modify_object):
+	Always set a new object properly, as a backend modifies it.
+
 2009-03-05  Chenthill Palanisamy  <pchenthill@novell.com>
 
 	Fixes #479908
Index: calendar/backends/file/e-cal-backend-file.c
===================================================================
--- calendar/backends/file/e-cal-backend-file.c	(revision 10182)
+++ calendar/backends/file/e-cal-backend-file.c	(working copy)
@@ -1992,6 +1992,9 @@ e_cal_backend_file_modify_object (ECalBa
 
 			save (cbfile);
 
+			if (new_object)
+				*new_object = e_cal_component_get_as_string (comp);
+
 			g_static_rec_mutex_unlock (&priv->idle_save_rmutex);
 			g_free (rid);
 			return GNOME_Evolution_Calendar_Success;
@@ -2134,7 +2137,6 @@ e_cal_backend_file_modify_object (ECalBa
 				e_cal_component_free_datetime (&m_endate);
 			}
 			e_cal_component_set_recurid (comp, NULL);
-			*new_object = e_cal_component_get_as_string (comp);
 		}
 
 		/* Remove the old version */
@@ -2180,6 +2182,9 @@ e_cal_backend_file_modify_object (ECalBa
 	save (cbfile);
 	g_free (rid);
 
+	if (new_object)
+		*new_object = e_cal_component_get_as_string (comp);
+
 	g_static_rec_mutex_unlock (&priv->idle_save_rmutex);
 	return GNOME_Evolution_Calendar_Success;
 }
