diff --git a/native/src/correction.cpp b/native/src/correction.cpp
index 308cca2..5128c2e 100644
--- a/native/src/correction.cpp
+++ b/native/src/correction.cpp
@@ -555,6 +555,8 @@
     const int transposedCount = correction->mTransposedCount / 2;
     const int excessiveCount = correction->mExcessiveCount + correction->mTransposedCount % 2;
     const int proximityMatchedCount = correction->mProximityCount;
+    const int equivalentCharStrongCount = correction->mEquivalentCharStrongCount;
+    const int equivalentCharWeakCount = correction->mEquivalentCharWeakCount;
     const bool lastCharExceeded = correction->mLastCharExceeded;
     const bool useFullEditDistance = correction->mUseFullEditDistance;
     const int outputLength = outputIndex + 1;
@@ -664,6 +666,20 @@
         multiplyRate(WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE, &finalFreq);
     }
 
+    for (int i = 0; i < equivalentCharStrongCount; ++i) {
+        if (DEBUG_DICT_FULL) {
+            LOGI("equivalent char strong");
+        }
+        multiplyRate(WORDS_WITH_EQUIVALENT_CHAR_STRONG_PROMOTION_RATE, &finalFreq);
+    }
+
+    for (int i = 0; i < equivalentCharWeakCount; ++i) {
+        if (DEBUG_DICT_FULL) {
+            LOGI("equivalent char weak");
+        }
+        multiplyRate(WORDS_WITH_EQUIVALENT_CHAR_WEAK_DEMOTION_RATE, &finalFreq);
+    }
+
     const int errorCount = adjustedProximityMatchedCount > 0
             ? adjustedProximityMatchedCount
             : (proximityMatchedCount + transposedCount);
diff --git a/native/src/defines.h b/native/src/defines.h
index 6c619d1..dab8629 100644
--- a/native/src/defines.h
+++ b/native/src/defines.h
@@ -180,6 +180,8 @@
 #define WORDS_WITH_EXCESSIVE_CHARACTER_DEMOTION_RATE 75
 #define WORDS_WITH_EXCESSIVE_CHARACTER_OUT_OF_PROXIMITY_DEMOTION_RATE 75
 #define WORDS_WITH_TRANSPOSED_CHARACTERS_DEMOTION_RATE 60
+#define WORDS_WITH_EQUIVALENT_CHAR_STRONG_PROMOTION_RATE 105
+#define WORDS_WITH_EQUIVALENT_CHAR_WEAK_DEMOTION_RATE 95
 #define FULL_MATCHED_WORDS_PROMOTION_RATE 120
 #define WORDS_WITH_PROXIMITY_CHARACTER_DEMOTION_RATE 90
 #define WORDS_WITH_MATCH_SKIP_PROMOTION_RATE 105
