diff --git a/src/validation.c b/src/validation.c
index 01f321a..84975a3 100644
--- a/src/validation.c
+++ b/src/validation.c
@@ -871,9 +871,16 @@
             break;
         }
 
+        /* opaque data */
+        if (!node->schema) {
+            LOGVAL(LYD_NODE_CTX(node), LY_VLOG_LYD, node, LYVE_DATA, "Opaque node \"%s\" found.",
+                   ((struct lyd_node_opaq *)node)->name);
+            return LY_EVALID;
+        }
+
         /* no state data */
         if ((val_opts & LYD_VALOPT_NO_STATE) && (node->schema->flags & LYS_CONFIG_R)) {
-            LOGVAL(node->schema->module->ctx, LY_VLOG_LYD, node, LY_VCODE_INSTATE, node->schema->name);
+            LOGVAL(LYD_NODE_CTX(node), LY_VLOG_LYD, node, LY_VCODE_INSTATE, node->schema->name);
             return LY_EVALID;
         }
 
@@ -882,14 +889,14 @@
 
         /* node's schema if-features */
         if ((snode = lysc_node_is_disabled(node->schema, 1))) {
-            LOGVAL(node->schema->module->ctx, LY_VLOG_LYD, node, LY_VCODE_NOIFF, snode->name);
+            LOGVAL(LYD_NODE_CTX(node), LY_VLOG_LYD, node, LY_VCODE_NOIFF, snode->name);
             return LY_EVALID;
         }
 
         /* node's musts */
         LY_CHECK_RET(lyd_validate_must(node));
 
-        /* node value including if-feature is checked by plugins */
+        /* node value including if-feature was checked by plugins */
     }
 
     /* validate schema-based restrictions */
