diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index d02c4df..4299929 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1861,6 +1861,7 @@
             final int spaceState) {
         if (ProductionFlag.IS_EXPERIMENTAL) {
             ResearchLogger.recordTimeForLogUnitSplit();
+            ResearchLogger.latinIME_handleSeparator(primaryCode, mWordComposer.isComposingWord());
         }
         boolean didAutoCorrect = false;
         // Handle separator
diff --git a/java/src/com/android/inputmethod/research/ResearchLogger.java b/java/src/com/android/inputmethod/research/ResearchLogger.java
index a2bcf44..5822b95 100644
--- a/java/src/com/android/inputmethod/research/ResearchLogger.java
+++ b/java/src/com/android/inputmethod/research/ResearchLogger.java
@@ -1719,7 +1719,7 @@
     /**
      * Record the current time in case the LogUnit is later split.
      *
-     * If the current logUnitis split, then tapping, motion events, etc. before this time should
+     * If the current logUnit is split, then tapping, motion events, etc. before this time should
      * be assigned to one LogUnit, and events after this time should go into the following LogUnit.
      */
     public static void recordTimeForLogUnitSplit() {
@@ -1729,6 +1729,22 @@
     }
 
     /**
+     * Log a call to LatinIME.handleSeparator()
+     *
+     * SystemResponse: The system is inserting a separator character, possibly performing auto-
+     * correction or other actions appropriate at the end of a word.
+     */
+    private static final LogStatement LOGSTATEMENT_LATINIME_HANDLESEPARATOR =
+            new LogStatement("LatinIMEHandleSeparator", false, false, "primaryCode",
+                    "isComposingWord");
+    public static void latinIME_handleSeparator(final int primaryCode,
+            final boolean isComposingWord) {
+        final ResearchLogger researchLogger = getInstance();
+        researchLogger.enqueueEvent(LOGSTATEMENT_LATINIME_HANDLESEPARATOR, primaryCode,
+                isComposingWord);
+    }
+
+    /**
      * Log statistics.
      *
      * ContextualData, recorded at the end of a session.
