diff --git a/protobuf/lib/src/protobuf/field_set.dart b/protobuf/lib/src/protobuf/field_set.dart index 009050673..a62c67d07 100644 --- a/protobuf/lib/src/protobuf/field_set.dart +++ b/protobuf/lib/src/protobuf/field_set.dart @@ -786,12 +786,12 @@ class _FieldSet { if (fi.isGroupOrMessage) { final currentFieldValue = _values[fi.index!]; + final GeneratedMessage msg = fieldValue; if (currentFieldValue == null) { - final GeneratedMessage msg = fieldValue; fieldValue = msg.deepCopy(); } else { final GeneratedMessage currentMsg = currentFieldValue; - fieldValue = currentMsg..mergeFromMessage(fieldValue); + fieldValue = currentMsg..mergeFromMessage(msg); } }