--- ./mail/e-mail-reader.c.orig	2011-03-01 23:24:43.605126569 +0100
+++ ./mail/e-mail-reader.c	2011-03-01 23:49:35.729126382 +0100
@@ -920,40 +920,66 @@
 static void
 action_mail_reply_all_check (CamelFolder *folder,
                              const gchar *uid,
                              CamelMimeMessage *message,
                              gpointer user_data)
 {
 	EMailReader *reader = user_data;
 	CamelInternetAddress *to, *cc;
 	gint recip_count = 0;
 	gint mode = REPLY_MODE_ALL;
 
 	if (!message)
 		return;
 
 	/* get_message_free () will unref the message, so we need to take an
 	   extra ref for e_mail_reader_reply_to_message () to own. */
 	g_object_ref (message);
 	to = camel_mime_message_get_recipients (message, CAMEL_RECIPIENT_TYPE_TO);
 	cc = camel_mime_message_get_recipients (message, CAMEL_RECIPIENT_TYPE_CC);
 
+	/* removing our own aliases from recipient lists */
+	/* PSEUDOCODE STARTS */
+
+	/* read excluded recipients from gconf, like headers in em_mailer_prefs_construct */
+	/* schema should be also patched to contain the key, see mail/evolution-mail.schemas.in */
+	GSList *excluded_config_list, *p;
+	excluded_config_list = gconf_client_get_list (prefs->gconf, "/apps/evolution/mail/composer/exclude_recipients", GCONF_VALUE_STRING, NULL);
+	p = excluded_config_list;
+	while (p) {
+		gint exc_index;
+		gchar *exclude = (gchar *) p->data;
+
+		exc_index = camel_internet_address_find_address (to, exclude, NULL);
+		camel_address_remove (to, exc_index);
+
+		exc_index = camel_internet_address_find_address (cc, exclude, NULL);
+		camel_address_remove (cc, exc_index);
+
+		p = p->next;
+	}
+
+	g_slist_foreach (excluded_config_list, (GFunc) g_free, NULL);
+	g_slist_free (excluded_config_list);
+
+	/* PSEUDOCODE ENDS */
+
 	recip_count = camel_address_length (CAMEL_ADDRESS (to));
 	recip_count += camel_address_length (CAMEL_ADDRESS (cc));
 
 	if (recip_count >= 15) {
 		GConfClient *gconf = mail_config_get_gconf_client ();
 		GtkWidget *dialog;
 		GtkWidget *content_area, *check;
 		gint response;
 
 		dialog = e_alert_dialog_new_for_args (
 			e_mail_reader_get_window (reader),
 			"mail:ask-reply-many-recips", NULL);
 
 		/* Check buttons */
 		check = gtk_check_button_new_with_mnemonic (_("_Do not ask me again."));
 		gtk_container_set_border_width (GTK_CONTAINER (check), 12);
 		content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 		gtk_box_pack_start (GTK_BOX (content_area), check, TRUE, TRUE, 0);
 		gtk_widget_show (check);
 
