diff --git a/cue/types.go b/cue/types.go
index 88e5660..e140bee 100644
--- a/cue/types.go
+++ b/cue/types.go
@@ -1340,16 +1340,20 @@
 }
 
 func (v Value) structValFull(ctx *context) (structValue, *adt.Bottom) {
-	return v.structValOpts(ctx, options{})
+	return v.structValOpts(ctx, options{allowScalar: true})
 }
 
 // structVal returns an structVal or an error if v is not a struct.
-func (v Value) structValOpts(ctx *context, o options) (structValue, *adt.Bottom) {
+func (v Value) structValOpts(ctx *context, o options) (s structValue, err *adt.Bottom) {
 	v, _ = v.Default()
 
-	obj, err := v.getStruct()
-	if err != nil {
-		return structValue{}, err
+	obj := v.v
+
+	if !o.allowScalar {
+		obj, err = v.getStruct()
+		if err != nil {
+			return structValue{}, err
+		}
 	}
 
 	features := export.VertexFeatures(obj)
@@ -1949,6 +1953,7 @@
 	ignoreClosedness  bool // used for comparing APIs
 	docs              bool
 	disallowCycles    bool // implied by concrete
+	allowScalar       bool
 }
 
 // An Option defines modes of evaluation.
diff --git a/cue/types_test.go b/cue/types_test.go
index 925d3a9..e3b7ab0 100644
--- a/cue/types_test.go
+++ b/cue/types_test.go
@@ -1001,6 +1001,10 @@
 		in:  `_#foo: 3`,
 		def: "_#foo",
 		out: `_|_ // definition "_#foo" not found`,
+	}, {
+		in:  `"foo", #foo: 3`,
+		def: "#foo",
+		out: `3`,
 	}}
 
 	for _, tc := range testCases {
