diff --git a/src/schema_compile.c b/src/schema_compile.c
index d21f0dc..a57ca23 100644
--- a/src/schema_compile.c
+++ b/src/schema_compile.c
@@ -1699,6 +1699,32 @@
     }
 }
 
+/**
+ * @brief Compile (copy) all enabled features of a parsed module.
+ *
+ * @param[in] mod Module with the parsed and compiled module.
+ * @return LY_ERR value.
+ */
+static LY_ERR
+lys_compile_enabled_features(struct lys_module *mod)
+{
+    LY_ERR rc = LY_SUCCESS;
+    struct lysp_feature *f = NULL;
+    uint32_t idx = 0;
+    const char **feat_p;
+
+    /* copy enabled features */
+    while ((f = lysp_feature_next(f, mod->parsed, &idx))) {
+        if (f->flags & LYS_FENABLED) {
+            LY_ARRAY_NEW_GOTO(mod->ctx, mod->compiled->features, feat_p, rc, cleanup);
+            LY_CHECK_GOTO(rc = lydict_dup(mod->ctx, f->name, feat_p), cleanup);
+        }
+    }
+
+cleanup:
+    return rc;
+}
+
 LY_ERR
 lys_compile(struct lys_module *mod, struct lys_depset_unres *unres)
 {
@@ -1724,6 +1750,9 @@
     LY_CHECK_ERR_RET(!mod_c, LOGMEM(mod->ctx), LY_EMEM);
     mod_c->mod = mod;
 
+    /* copy the enabled features */
+    LY_CHECK_GOTO(ret = lys_compile_enabled_features(mod), cleanup);
+
     /* compile augments and deviations of our module from other modules so they can be applied during compilation */
     LY_CHECK_GOTO(ret = lys_precompile_own_augments(&ctx), cleanup);
     LY_CHECK_GOTO(ret = lys_precompile_own_deviations(&ctx), cleanup);
