diff --git a/src/com/android/inputmethod/latin/ExpandableDictionary.java b/src/com/android/inputmethod/latin/ExpandableDictionary.java
index a136ee7f42ed8724ae346b9fa6797bbed8459e5f..1589168ee4fccabecdb13970e0ef81ddc03551a1 100644
--- a/src/com/android/inputmethod/latin/ExpandableDictionary.java
+++ b/src/com/android/inputmethod/latin/ExpandableDictionary.java
@@ -105,8 +105,8 @@ public class ExpandableDictionary extends Dictionary {
         if (wordLength == depth + 1) {
             // Terminate this word
             childNode.terminal = true;
-            childNode.frequency += frequency; // If there are multiple similar words
-            if (childNode.frequency > 256) childNode.frequency = 256;
+            childNode.frequency = Math.max(frequency, childNode.frequency);
+            if (childNode.frequency > 255) childNode.frequency = 255;
             return;
         }
         if (childNode.children == null) {