diff --git a/src/context.c b/src/context.c
index a81e95f..89cb767 100644
--- a/src/context.c
+++ b/src/context.c
@@ -194,8 +194,9 @@
 
     LY_CHECK_ARG_RET(ctx, ctx, name, NULL);
 
-    /* parse */
-    LY_CHECK_GOTO(ret = lys_parse_load(ctx, name, revision, &unres, &result), cleanup);
+    /* load and parse */
+    ret = lys_parse_load(ctx, name, revision, &unres.creating, &mod);
+    LY_CHECK_GOTO(ret, cleanup);
 
     /* implement */
     ret = _lys_set_implemented(mod, features, &unres);
@@ -281,7 +282,7 @@
     /* load internal modules */
     for (i = 0; i < ((options & LY_CTX_NO_YANGLIBRARY) ? (LY_INTERNAL_MODS_COUNT - 2) : LY_INTERNAL_MODS_COUNT); i++) {
         ly_in_memory(in, internal_modules[i].data);
-        LY_CHECK_GOTO(rc = lys_parse_in(ctx, in, internal_modules[i].format, NULL, NULL, &unres, &module), error);
+        LY_CHECK_GOTO(rc = lys_parse_in(ctx, in, internal_modules[i].format, NULL, NULL, &unres.creating, &module), cleanup);
         if (internal_modules[i].implemented || (ctx->flags & LY_CTX_ALL_IMPLEMENTED)) {
             LY_CHECK_GOTO(rc = lys_implement(module, NULL, &unres), error);
         }
