diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 7cdeef8..b587568 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1783,6 +1783,10 @@
                         + "is empty? Impossible! I must commit suicide.");
             }
             Utils.Stats.onAutoCorrection(typedWord, autoCorrection.toString(), separatorCodePoint);
+            if (ProductionFlag.IS_EXPERIMENTAL) {
+                ResearchLogger.LatinIME_commitCurrentAutoCorrection(typedWord,
+                        autoCorrection.toString());
+            }
             mExpectingUpdateSelection = true;
             commitChosenWord(autoCorrection, LastComposedWord.COMMIT_TYPE_DECIDED_WORD,
                     separatorCodePoint);
diff --git a/java/src/com/android/inputmethod/latin/ResearchLogger.java b/java/src/com/android/inputmethod/latin/ResearchLogger.java
index 2d9f3ce..4e90dd6 100644
--- a/java/src/com/android/inputmethod/latin/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/latin/ResearchLogger.java
@@ -354,6 +354,7 @@
                 = DEFAULT_ENABLED;
         private static final boolean KEYBOARDSTATE_TOGGLEALPHABETANDSYMBOLS_ENABLED
                 = DEFAULT_ENABLED;
+        private static final boolean LATINIME_COMMITCURRENTAUTOCORRECTION_ENABLED = DEFAULT_ENABLED;
         private static final boolean LATINIME_ONDISPLAYCOMPLETIONS_ENABLED = DEFAULT_ENABLED;
         private static final boolean LATINIME_ONSTARTINPUTVIEWINTERNAL_ENABLED = DEFAULT_ENABLED;
         private static final boolean LATINIME_ONUPDATESELECTION_ENABLED = DEFAULT_ENABLED;
@@ -574,6 +575,17 @@
         }
     }
 
+    public static void LatinIME_commitCurrentAutoCorrection(final String typedWord,
+            final String autoCorrection) {
+        if (UnsLogGroup.LATINIME_COMMITCURRENTAUTOCORRECTION_ENABLED) {
+            if (typedWord.equals(autoCorrection)) {
+                getInstance().logCorrection("[----]", typedWord, autoCorrection, -1);
+            } else {
+                getInstance().logCorrection("[Auto]", typedWord, autoCorrection, -1);
+            }
+        }
+    }
+
     public static void latinIME_onDisplayCompletions(
             final CompletionInfo[] applicationSpecifiedCompletions) {
         if (UnsLogGroup.LATINIME_ONDISPLAYCOMPLETIONS_ENABLED) {
@@ -714,4 +726,4 @@
             logUnstructured("SuggestionsView_setSuggestions", mSuggestedWords.toString());
         }
     }
-}
+}
\ No newline at end of file
