diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 53ed225..974a30a 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -2321,7 +2321,7 @@
         }
         if (ProductionFlag.IS_EXPERIMENTAL) {
             ResearchLogger.latinIME_revertCommit(committedWord, originallyTypedWord,
-                    mWordComposer.isBatchMode());
+                    mWordComposer.isBatchMode(), mLastComposedWord.mSeparatorString);
             ResearchLogger.getInstance().uncommitCurrentLogUnit(committedWord,
                     true /* dumpCurrentLogUnit */);
         }
diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java
index 9dbbb1d..d148f68 100644
--- a/java/src/com/android/inputmethod/research/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/research/ResearchLogger.java
@@ -1297,9 +1297,10 @@
      */
     private static final LogStatement LOGSTATEMENT_LATINIME_REVERTCOMMIT =
             new LogStatement("LatinIMERevertCommit", true, false, "committedWord",
-                    "originallyTypedWord");
+                    "originallyTypedWord", "separatorString");
     public static void latinIME_revertCommit(final String committedWord,
-            final String originallyTypedWord, final boolean isBatchMode) {
+            final String originallyTypedWord, final boolean isBatchMode,
+            final String separatorString) {
         final ResearchLogger researchLogger = getInstance();
         // TODO: Verify that mCurrentLogUnit has been restored and contains the reverted word.
         final LogUnit logUnit;
@@ -1314,7 +1315,8 @@
             }
         }
         researchLogger.enqueueEvent(logUnit != null ? logUnit : researchLogger.mCurrentLogUnit,
-                LOGSTATEMENT_LATINIME_REVERTCOMMIT, committedWord, originallyTypedWord);
+                LOGSTATEMENT_LATINIME_REVERTCOMMIT, committedWord, originallyTypedWord,
+                separatorString);
         researchLogger.mStatistics.recordRevertCommit(SystemClock.uptimeMillis());
         researchLogger.commitCurrentLogUnitAsWord(originallyTypedWord, Long.MAX_VALUE, isBatchMode);
     }
