diff -up gtk+-2.19.1/gtk/gtkrc.c.lib64 gtk+-2.19.1/gtk/gtkrc.c
--- gtk+-2.19.1/gtk/gtkrc.c.lib64	2009-11-26 01:35:50.000000000 -0500
+++ gtk+-2.19.1/gtk/gtkrc.c	2009-11-30 20:54:21.844826383 -0500
@@ -450,7 +450,17 @@ gtk_rc_get_im_module_file (void)
       if (im_module_file)
 	result = g_strdup (im_module_file);
       else
-	result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", "gtk.immodules", NULL);
+        {
+          result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", GTK_HOST, 
+                                     "gtk.immodules", NULL);
+          if (!g_file_test (result, G_FILE_TEST_EXISTS))
+            {
+              g_free (result);
+             
+              result = g_build_filename (GTK_SYSCONFDIR, "gtk-2.0", 
+                                        "gtk.immodules", NULL);
+            }
+        }
     }
 
   return result;
