diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 3bf8238..b15de6b 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1551,9 +1551,9 @@
         // If this is a punctuation, apply it through the normal key press
         if (suggestion.length() == 1 && isWordSeparator(suggestion.charAt(0))) {
             // Word separators are suggested before the user inputs something.
-            // So, LatinImeLogger logs suggestion.charAt(0) as a user's input.
+            // So, LatinImeLogger logs "" as a user's input.
             LatinImeLogger.logOnClickSuggestion(
-                    suggestion.toString(), suggestion.toString(), index);
+                    "", suggestion.toString(), index);
             onKey(suggestion.charAt(0), null);
             if (ic != null) {
                 ic.endBatchEdit();
diff --git a/java/src/com/android/inputmethod/latin/LatinImeLogger.java b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
index 747340e..002a344 100644
--- a/java/src/com/android/inputmethod/latin/LatinImeLogger.java
+++ b/java/src/com/android/inputmethod/latin/LatinImeLogger.java
@@ -135,7 +135,12 @@
         if (sDBG) {
             Log.d(TAG, "Check String safety: " + s);
         }
-        return !TextUtils.isDigitsOnly(s);
+        for (int i = 0; i < s.length(); ++i) {
+            if (Character.isDigit(s.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
     }
 
     private void addCountEntry(long time) {
@@ -344,6 +349,10 @@
 
     public static void logOnAutoSuggestion(String before, String after) {
         if (sLogEnabled) {
+            if (before.equals(after)) {
+                before = "";
+                after = "";
+            }
             String[] strings = new String[] {before, after};
             synchronized (LatinImeLogger.class) {
                 sLastAutoSuggestBefore = before;
