diff --git a/protoc-gen-go/generator/generator.go b/protoc-gen-go/generator/generator.go
index <HASH>..<HASH> 100644
--- a/protoc-gen-go/generator/generator.go
+++ b/protoc-gen-go/generator/generator.go
@@ -1417,11 +1417,7 @@ func (g *Generator) goTag(message *Descriptor, field *descriptor.FieldDescriptor
 			name = name[i+1:]
 		}
 	}
-	if name == CamelCase(fieldName) {
-		name = ""
-	} else {
-		name = ",name=" + name
-	}
+	name = ",name=" + name
 	if message.proto3() {
 		// We only need the extra tag for []byte fields;
 		// no need to add noise for the others.
Unconditionally generate the name= part of the protobuf struct field tag.

This is generated <I>% of the time anyway (since the standard style is to
name fields in snake_case, which gets turned into Go's CamelCase), but if
a .proto has a oneof field with a CamelCase name then some downstream code
can get confused.