--- vte.c       2010-08-29 04:48:35.000000000 -0700
+++ vte-0.25.91/src/vte.c       2010-09-25 21:27:15.036608001 -0700
@@ -4884,7 +4884,7 @@
 static guint
 vte_translate_national_ctrlkeys (GdkEventKey *event)
 {
-       guint keyval;
+       guint native_keyval, translated_keyval, final_keyval;
        GdkModifierType consumed_modifiers;
        GdkKeymap *keymap;
 
@@ -4894,13 +4894,17 @@
        gdk_keymap_translate_keyboard_state (keymap,
                        event->hardware_keycode, event->state,
                        0, /* Force 0 group (English) */
-                       &keyval, NULL, NULL, &consumed_modifiers);
+                       &native_keyval, NULL, NULL, &consumed_modifiers);
+
+       translated_keyval = event->keyval;
+
+       final_keyval = translated_keyval < 128 ? translated_keyval : native_keyval;
 
        _vte_debug_print (VTE_DEBUG_EVENTS,
                        "ctrl+Key, group=%d de-grouped into keyval=0x%x\n",
-                       event->group, keyval);
+                       event->group, final_keyval);
 
-       return keyval;
+       return final_keyval;
 }
 
 static void
