diff --git a/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs b/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs index 67864dbde1..7bbc02e882 100644 --- a/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs +++ b/ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs @@ -2528,7 +2528,9 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver } StoreCurrentState(foreachStatement.VariableNameToken); resolver = resolver.AddVariable(v); - StoreResult(foreachStatement.VariableNameToken, new LocalResolveResult(v)); + if (!resolveResultCache.ContainsKey(foreachStatement.VariableNameToken)) { + StoreResult(foreachStatement.VariableNameToken, new LocalResolveResult(v)); + } Scan(foreachStatement.EmbeddedStatement); resolver = resolver.PopBlock(); return voidResult;