diff --git a/scim-wnn/src/scim_wnn_imengine.cpp b/scim-wnn/src/scim_wnn_imengine.cpp
index 88da807..335d62b 100644
--- a/scim-wnn/src/scim_wnn_imengine.cpp
+++ b/scim-wnn/src/scim_wnn_imengine.cpp
@@ -273,14 +273,6 @@
         if (k_conversion_start.comp(key)) {
             startConversion(m_rk.getText(true));
             alp_count ++;
-            show_preedit_string();
-            if (m_conversion) {
-                update_preedit_string(wnn.getText(),wnn.getAttributeList());
-                update_preedit_caret(wnn.getCaretPos());
-                if (alp == -1) {
-                    if (!m_lookup) startLookup();
-                }
-            }
             return(true);
         } else
         if (k_commit.comp(key)) {
@@ -620,6 +612,14 @@
     m_conversion = true;
 
     alp_count = 1;
+
+    show_preedit_string();
+    update_preedit_string(wnn.getText(),wnn.getAttributeList());
+    update_preedit_caret(wnn.getCaretPos());
+    if (alp == -1) {
+        if (!m_lookup) startLookup();
+    }
+
 }