diff -Nur gcin-2.4.4.bck2/gcin-setup.cpp gcin-2.4.4/gcin-setup.cpp
--- gcin-2.4.4.bck2/gcin-setup.cpp	2011-12-02 22:00:55.000000000 +0800
+++ gcin-2.4.4/gcin-setup.cpp	2011-12-06 14:22:13.976349689 +0800
@@ -599,9 +608,6 @@
 #endif
   gtk_box_pack_start (GTK_BOX (hbox), opt_gcin_edit_display, FALSE, FALSE, 0);
 
-  g_signal_connect(G_OBJECT(opt_gcin_edit_display), "changed",
-        G_CALLBACK(combo_selected), (gpointer) NULL);
-
   int i, current_idx=0;
 
   for(i=0; edit_disp[i].keystr; i++) {
@@ -634,6 +640,9 @@
        gcin_on_the_spot_key);
   gtk_box_pack_start (GTK_BOX (hbox), check_button_gcin_on_the_spot_key, FALSE, FALSE, 0);
 
+  g_signal_connect(G_OBJECT(opt_gcin_edit_display), "changed",
+        G_CALLBACK(combo_selected), (gpointer) NULL);
+
   return hbox;
 }
 
