diff --git a/cmd/cue/cmd/common.go b/cmd/cue/cmd/common.go
index ddeec68..a67fe94 100644
--- a/cmd/cue/cmd/common.go
+++ b/cmd/cue/cmd/common.go
@@ -417,11 +417,6 @@
 			}
 		}
 
-		if !p.mergeData && p.schema == nil {
-			p.orphaned = append(p.orphaned, b.OrphanedFiles...)
-			continue
-		}
-
 		// TODO: this processing could probably be delayed, or at least
 		// simplified. The main reason to do this here is to allow interpreting
 		// the --schema/-d flag, while allowing to use this for OpenAPI and
@@ -439,7 +434,7 @@
 					Tags:           f.Tags,
 					Source:         file,
 				}
-				if p.schema != nil && d.Interpretation() == "" {
+				if (!p.mergeData || p.schema != nil) && d.Interpretation() == "" {
 					switch sub.Encoding {
 					case build.YAML, build.JSON, build.Text:
 						p.orphaned = append(p.orphaned, sub)
@@ -456,7 +451,7 @@
 			}
 		}
 
-		if !addedUser && len(b.Files) > 1 {
+		if !addedUser && len(b.Files) > 0 {
 			p.insts = append(p.insts, b)
 		} else if len(p.orphaned) == 0 {
 			// Instance with only a single build: just print the file.
diff --git a/cmd/cue/cmd/testdata/script/def_jsonschema.txt b/cmd/cue/cmd/testdata/script/def_jsonschema.txt
index 258ef36..9974959 100644
--- a/cmd/cue/cmd/testdata/script/def_jsonschema.txt
+++ b/cmd/cue/cmd/testdata/script/def_jsonschema.txt
@@ -10,9 +10,12 @@
 ! cue def jsonschema: bad.json --strict
 cmp stderr expect-stderr
 
-! cue eval data.yaml schema.json
+! cue export data.yaml schema.json
 cmp stderr expect-stderr2
 
+! cue vet data.yaml schema.json
+cmp stderr expect-stderr3
+
 -- expect-stdout --
 package schema
 
@@ -68,4 +71,8 @@
 age: conflicting values "twenty" and >=0 (mismatched types string and number):
     13:7
     ./data.yaml:1:7
+-- expect-stderr3 --
+age: conflicting values "twenty" and >=0 (mismatched types string and number):
+    13:7
+    ./data.yaml:1:7
 -- cue.mod --
diff --git a/cmd/cue/cmd/testdata/script/def_openapi.txt b/cmd/cue/cmd/testdata/script/def_openapi.txt
index d25aa19..65430d8 100644
--- a/cmd/cue/cmd/testdata/script/def_openapi.txt
+++ b/cmd/cue/cmd/testdata/script/def_openapi.txt
@@ -211,7 +211,6 @@
 	title:   *"My OpenAPI" | string
 	version: *"v1alpha1" | string
 }
-
 #Bar: {
 	foo: #Foo
 	...
diff --git a/cmd/cue/cmd/testdata/script/def_proto.txt b/cmd/cue/cmd/testdata/script/def_proto.txt
index 684aded..816e9c9 100644
--- a/cmd/cue/cmd/testdata/script/def_proto.txt
+++ b/cmd/cue/cmd/testdata/script/def_proto.txt
@@ -2,7 +2,6 @@
 cmp stdout expect-stdout
 
 -- expect-stdout --
-// policy_gen.cue
 package api
 
 import "time"
@@ -15,24 +14,21 @@
 	} @protobuf(1,type=map<string,AttributeValue>)
 
 	// Specifies one attribute value with different type.
-	#AttributeValue: {
-		// The attribute value.
-		close({}) | close({
-			stringValue: string @protobuf(2,name=string_value)
-		}) | close({
-			int64Value: int64 @protobuf(3,name=int64_value)
-		}) | close({
-			doubleValue: float64 @protobuf(4,type=double,name=double_value)
-		}) | close({
-			boolValue: bool @protobuf(5,name=bool_value)
-		}) | close({
-			bytesValue: bytes @protobuf(6,name=bytes_value)
-		}) | close({
-			timestampValue: time.Time @protobuf(7,type=google.protobuf.Timestamp,name=timestamp_value)
-		}) | close({
-			// Used for values of type STRING_MAP
-			stringMapValue: #StringMap @protobuf(9,name=string_map_value)
-		})
+	#AttributeValue: {} | {
+		stringValue: string @protobuf(2,name=string_value)
+	} | {
+		int64Value: int64 @protobuf(3,name=int64_value)
+	} | {
+		doubleValue: float64 @protobuf(4,type=double,name=double_value)
+	} | {
+		boolValue: bool @protobuf(5,name=bool_value)
+	} | {
+		bytesValue: bytes @protobuf(6,name=bytes_value)
+	} | {
+		timestampValue: time.Time @protobuf(7,type=google.protobuf.Timestamp,name=timestamp_value)
+	} | {
+		// Used for values of type STRING_MAP
+		stringMapValue: #StringMap @protobuf(9,name=string_map_value)
 	}
 
 	// Defines a string map.
diff --git a/cmd/cue/cmd/testdata/script/vet_file.txt b/cmd/cue/cmd/testdata/script/vet_file.txt
index d3d90bd..a333535 100644
--- a/cmd/cue/cmd/testdata/script/vet_file.txt
+++ b/cmd/cue/cmd/testdata/script/vet_file.txt
@@ -2,7 +2,7 @@
 cmp stderr expect-stderr
 
 ! cue vet . ./data.yaml
-cmp stderr expect-stderr
+cmp stderr expect-stderr2
 
 -- expect-stderr --
 translations.hello.lang: incomplete value (string):
@@ -10,6 +10,12 @@
 translations.hello.lang: conflicting values false and string (mismatched types bool and string):
     ./data.yaml:13:11
     ./vet.cue:3:31
+-- expect-stderr2 --
+translations.hello.lang: incomplete value (string):
+    ./vet.cue:3:31
+translations.hello.lang: conflicting values false and string (mismatched types bool and string):
+    ./data.yaml:13:11
+    ./vet.cue:3:31
 -- vet.cue --
 package foo
 
