diff --git a/src/Compilers/CSharp/Portable/Symbols/Tuples/TupleTypeSymbol.cs b/src/Compilers/CSharp/Portable/Symbols/Tuples/TupleTypeSymbol.cs index da4dfb7663716..76c90edde22f8 100644 --- a/src/Compilers/CSharp/Portable/Symbols/Tuples/TupleTypeSymbol.cs +++ b/src/Compilers/CSharp/Portable/Symbols/Tuples/TupleTypeSymbol.cs @@ -1051,7 +1051,11 @@ internal SmallDictionary UnderlyingDefinitionToMemberMap { get { - return _lazyUnderlyingDefinitionToMemberMap ??= computeDefinitionToMemberMap(); + if (_lazyUnderlyingDefinitionToMemberMap is null) + { + Interlocked.CompareExchange(ref _lazyUnderlyingDefinitionToMemberMap, computeDefinitionToMemberMap(), null); + } + return _lazyUnderlyingDefinitionToMemberMap; SmallDictionary computeDefinitionToMemberMap() {