diff --git a/src/printer_xml.c b/src/printer_xml.c
index 5c17aa8..22c6af6 100644
--- a/src/printer_xml.c
+++ b/src/printer_xml.c
@@ -148,6 +148,11 @@
         set = prefix_data;
         for (i = 0; i < set->count; ++i) {
             ns = set->objs[i];
+            if (!ns->prefix) {
+                /* default namespace is not for the element */
+                continue;
+            }
+
             xml_print_ns(pctx, ns->uri, (prefix_opts & LYXML_PREFIX_DEFAULT) ? NULL : ns->prefix, prefix_opts);
         }
         break;
diff --git a/src/tree_data_helpers.c b/src/tree_data_helpers.c
index d1635c2..c5a0e2a 100644
--- a/src/tree_data_helpers.c
+++ b/src/tree_data_helpers.c
@@ -941,6 +941,18 @@
             ns_list = *prefix_data_p;
         }
 
+        /* store default namespace */
+        ns = lyxml_ns_get(prefix_data, NULL, 0);
+        if (ns) {
+            new_ns = calloc(1, sizeof *new_ns);
+            LY_CHECK_ERR_GOTO(!new_ns, LOGMEM(ctx); ret = LY_EMEM, cleanup);
+            LY_CHECK_GOTO(ret = ly_set_add(ns_list, new_ns, 1, NULL), cleanup);
+
+            new_ns->prefix = NULL;
+            new_ns->uri = strdup(ns->uri);
+            LY_CHECK_ERR_GOTO(!new_ns->uri, LOGMEM(ctx); ret = LY_EMEM, cleanup);
+        }
+
         /* add all used prefixes */
         value_end = (char *)value + value_len;
         for (value_iter = value; value_iter; value_iter = value_next) {
