diff --git a/src/tree_data.c b/src/tree_data.c
index 1c7bfa6..f729d19 100644
--- a/src/tree_data.c
+++ b/src/tree_data.c
@@ -1702,12 +1702,19 @@
         uint32_t options, struct lyd_node **dup_parent, struct lyd_node_inner **local_parent)
 {
     const struct lyd_node_inner *orig_parent, *iter;
-    ly_bool repeat = 1;
+    ly_bool repeat = 1, ext_parent = 0;
 
     *dup_parent = NULL;
     *local_parent = NULL;
 
+    if (node->flags & LYD_EXT) {
+        ext_parent = 1;
+    }
     for (orig_parent = node->parent; repeat && orig_parent; orig_parent = orig_parent->parent) {
+        if (ext_parent) {
+            /* use the standard context */
+            trg_ctx = LYD_CTX(orig_parent);
+        }
         if (parent && (parent->schema == orig_parent->schema)) {
             /* stop creating parents, connect what we have into the provided parent */
             iter = parent;
@@ -1735,6 +1742,9 @@
             (*dup_parent)->parent = (struct lyd_node_inner *)iter;
         }
         *dup_parent = (struct lyd_node *)iter;
+        if (orig_parent->flags & LYD_EXT) {
+            ext_parent = 1;
+        }
     }
 
     if (repeat && parent) {
