diff --git a/src/mscorlib/src/System/Collections/Concurrent/ConcurrentDictionary.cs b/src/mscorlib/src/System/Collections/Concurrent/ConcurrentDictionary.cs index ef18182c0cf6..ee66cb289399 100644 --- a/src/mscorlib/src/System/Collections/Concurrent/ConcurrentDictionary.cs +++ b/src/mscorlib/src/System/Collections/Concurrent/ConcurrentDictionary.cs @@ -1064,6 +1064,10 @@ public TValue GetOrAdd(TKey key, TValue value) if (key == null) throw new ArgumentNullException("key"); TValue resultingValue; + if (TryGetValue(key, out resultingValue)) + { + return resultingValue; + } TryAddInternal(key, value, false, true, out resultingValue); return resultingValue; }