diff -upr evolution/mail/mail-component.c evolution.new/mail/mail-component.c
--- evolution/mail/mail-component.c	Wed Aug  2 08:45:41 2006
+++ evolution.new/mail/mail-component.c	Thu Aug 31 15:25:25 2006
@@ -91,6 +91,7 @@
 #define d(x) 
 
 static void create_local_item_cb(EUserCreatableItemsHandler *handler, const char *item_type_name, void *data);
+static void view_changed_timeout_remove (EComponentView *component_view);
 
 #define MAIL_COMPONENT_DEFAULT(mc) if (mc == NULL) mc = mail_component_peek();
 
@@ -454,6 +455,8 @@ impl_dispose (GObject *object)
 		priv->local_store = NULL;
 	}
 	
+	view_changed_timeout_remove (MAIL_COMPONENT (object));
+
 	(* G_OBJECT_CLASS (parent_class)->dispose) (object);
 }
 
@@ -580,6 +583,22 @@ view_changed(EMFolderView *emfv, ECompon
 	}
 }
 
+static void
+view_changed_timeout_remove (EComponentView *component_view)
+{
+	EInfoLabel *el = g_object_get_data((GObject *)component_view, "info-label");
+	EMFolderView *emfv = g_object_get_data((GObject *)el, "folderview");
+
+	v = g_object_get_data((GObject *)emfv, "view-changed-timeout");
+	if (v) {
+		g_source_remove(GPOINTER_TO_INT(v));
+		g_object_unref(el);
+		g_object_unref(emfv);
+	
+		g_object_set_data((GObject *)emfv, "view-changed-timeout", NULL);
+	}
+}
+
 static int
 view_changed_timeout(void *d)
 {
