diff --git a/src/Registration/InternalRegistration.cs b/src/Registration/InternalRegistration.cs index 4cc141da6..fda11891f 100644 --- a/src/Registration/InternalRegistration.cs +++ b/src/Registration/InternalRegistration.cs @@ -61,6 +61,17 @@ public virtual void Set(Type policyInterface, object policy) } else { + for (var node = (LinkedNode)this; node != null; node = node.Next) + { + if (node.Key == policyInterface) + { + // Found it + node.Value = policy; + return; + } + } + + // If not found, insert after the current object Next = new LinkedNode { Key = policyInterface,