diff --git a/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.cpp b/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.cpp
index c427ebe..2b44907 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.cpp
@@ -45,14 +45,10 @@
     } else {
         mProbability = NOT_A_PROBABILITY;
     }
-    if (hasChildren()) {
-        mChildrenPos = DynamicPatriciaTrieReadingUtils::readChildrenPositionAndAdvancePosition(
-                dictBuf, mFlags, &pos);
-        if (usesAdditionalBuffer && mChildrenPos != NOT_A_DICT_POS) {
-            mChildrenPos += mOriginalDictSize;
-        }
-    } else {
-        mChildrenPos = NOT_A_DICT_POS;
+    mChildrenPos = DynamicPatriciaTrieReadingUtils::readChildrenPositionAndAdvancePosition(
+            dictBuf, mFlags, &pos);
+    if (usesAdditionalBuffer && mChildrenPos != NOT_A_DICT_POS) {
+        mChildrenPos += mOriginalDictSize;
     }
     if (usesAdditionalBuffer) {
         pos += mOriginalDictSize;
diff --git a/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.h b/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.h
index 2a63628..8e7db35 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.h
+++ b/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_node_reader.h
@@ -71,7 +71,7 @@
     }
 
     AK_FORCE_INLINE bool hasChildren() const {
-        return PatriciaTrieReadingUtils::hasChildrenInFlags(mFlags);
+        return mChildrenPos != NOT_A_DICT_POS;
     }
 
     AK_FORCE_INLINE bool isTerminal() const {
diff --git a/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_reading_utils.cpp b/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_reading_utils.cpp
index 1ef3b65..5d979fa 100644
--- a/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_reading_utils.cpp
+++ b/native/jni/src/suggest/policyimpl/dictionary/dynamic_patricia_trie_reading_utils.cpp
@@ -32,7 +32,13 @@
         const uint8_t *const buffer, const NodeFlags flags, int *const pos) {
     if ((flags & MASK_MOVED) == FLAG_IS_NOT_MOVED) {
         const int base = *pos;
-        return base + ByteArrayUtils::readSint24AndAdvancePosition(buffer, pos);
+        const int offset = ByteArrayUtils::readSint24AndAdvancePosition(buffer, pos);
+        if (offset == 0) {
+            // 0 offset means that the node does not have children.
+            return NOT_A_DICT_POS;
+        } else {
+            return base + offset;
+        }
     } else {
         return NOT_A_DICT_POS;
     }
