Index: libedataserverui/e-name-selector-entry.c
===================================================================
--- libedataserverui/e-name-selector-entry.c	(revision 8131)
+++ libedataserverui/e-name-selector-entry.c	(working copy)
@@ -790,7 +790,6 @@
 		g_free (cue_str);
 		return;
 	}
-	g_free (cue_str);
 
 	temp_str = sanitize_string (textrep);
 	g_free (textrep);
@@ -805,12 +804,19 @@
 					 destination_row_changed, name_selector_entry);
 
 	if (textrep_len > range_len) {
+		int i;
+
+		/* keep character's case as user types */
+		for (i = 0; textrep [i] && cue_str [i]; i++)
+			textrep [i] = cue_str [i];
+
 		gtk_editable_delete_text (GTK_EDITABLE (name_selector_entry), range_start, range_end);
 		gtk_editable_insert_text (GTK_EDITABLE (name_selector_entry), textrep, -1, &pos);
 		gtk_editable_select_region (GTK_EDITABLE (name_selector_entry), range_end,
 					    range_start + textrep_len);
 		priv->is_completing = TRUE;
 	}
+	g_free (cue_str);
 
 	if (contact && destination) {
 		gint email_n = 0;
Index: libedataserverui/ChangeLog
===================================================================
--- libedataserverui/ChangeLog	(revision 8131)
+++ libedataserverui/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2007-10-22  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #271777
+
+	* e-name-selector-entry.c: (type_ahead_complete):
+	Keep character's case as user types.
+
 2007-10-05  Srinivasa Ragavan  <sragavan@novell.com>
 
 	** Fix for bug #478404
