diff --git a/src/parser_yang.c b/src/parser_yang.c
index f904680..5cf8276 100644
--- a/src/parser_yang.c
+++ b/src/parser_yang.c
@@ -1474,7 +1474,7 @@
 
     /* allocate new pointer */
     for (count = 1; (*texts) && (*texts)[count - 1]; ++count);
-    *texts = realloc(*texts, count * sizeof **texts);
+    *texts = realloc(*texts, (1 + count) * sizeof **texts);
     LY_CHECK_ERR_RET(!*texts, LOGMEM(ctx->ctx), LY_EMEM);
 
     /* get value */
@@ -1482,6 +1482,7 @@
     LY_CHECK_RET(ret);
 
     INSERT_WORD(ctx, buf, (*texts)[count - 1], word, word_len);
+    (*texts)[count] = NULL; /* NULL-termination of the array */
     YANG_READ_SUBSTMT_FOR(ctx, data, kw, word, word_len, ret) {
         LY_CHECK_RET(ret);
 
@@ -4392,7 +4393,6 @@
         }
         LY_CHECK_RET(ret);
     }
-    LY_CHECK_RET(ret);
 
     return ret;
 }
