diff --git a/cue/types.go b/cue/types.go
index 71abe0a..68374c0 100644
--- a/cue/types.go
+++ b/cue/types.go
@@ -1777,17 +1777,8 @@
 	return p.Check(ctx, v.v, w.v)
 }
 
-func isDef(v *adt.Vertex) bool {
-	for ; v != nil; v = v.Parent {
-		if v.Label.IsDef() {
-			return true
-		}
-	}
-	return false
-}
-
 func allowed(ctx *adt.OpContext, parent, n *adt.Vertex) *adt.Bottom {
-	if !parent.IsClosedList() && !parent.IsClosedStruct() && !isDef(parent) {
+	if !parent.IsClosedList() && !parent.IsClosedStruct() {
 		return nil
 	}
 
