--- libnautilus-private/nautilus-search-engine-simple.c	2007-06-27 00:47:51.000000000 +0200
+++ libnautilus-private/nautilus-search-engine-simple.c.new	2007-07-28 22:51:00.000000000 +0200
@@ -213,8 +213,13 @@
 	hit = FALSE;
 
 	if (!is_hidden) {
-		normalized = g_utf8_normalize (info->name, -1, G_NORMALIZE_NFD);
-		lower_name = g_utf8_strdown (normalized, -1);
+    if (g_utf8_validate(info->name, -1, NULL)) {
+		  normalized = g_utf8_normalize (info->name, -1, G_NORMALIZE_NFD);
+		  lower_name = g_utf8_strdown (normalized, -1);
+      g_free(normalized);
+    } else {
+      lower_name = g_strdown(info->name);
+    }
 		
 		hit = TRUE;
 		for (i = 0; data->words[i] != NULL; i++) {
@@ -224,7 +229,6 @@
 			}
 		}
 		g_free (lower_name);
-		g_free (normalized);
 	}
 
 	if (hit && data->mime_types != NULL) {
