diff --git a/cue/attribute.go b/cue/attribute.go
index ef07ef50757..2311d78fd8e 100644
--- a/cue/attribute.go
+++ b/cue/attribute.go
@@ -211,13 +211,5 @@ func (a *Attribute) Flag(pos int, key string) (bool, error) {
 // and reports the value if found. It reports an error if the attribute is
 // invalid or if the first pos-1 entries are not defined.
 func (a *Attribute) Lookup(pos int, key string) (val string, found bool, err error) {
-	val, found, err = a.attr.Lookup(pos, key)
-
-	// TODO: remove at some point. This is an ugly hack to simulate the old
-	// behavior of protobufs.
-	if !found && a.attr.Name == "protobuf" && key == "type" {
-		val, err = a.String(1)
-		found = err == nil
-	}
-	return val, found, err
+	return a.attr.Lookup(pos, key)
 }