diff --git a/src/Libraries/NRefactory/ICSharpCode.NRefactory/Analysis/SymbolCollector.cs b/src/Libraries/NRefactory/ICSharpCode.NRefactory/Analysis/SymbolCollector.cs index 7a8959e885..e63b616389 100644 --- a/src/Libraries/NRefactory/ICSharpCode.NRefactory/Analysis/SymbolCollector.cs +++ b/src/Libraries/NRefactory/ICSharpCode.NRefactory/Analysis/SymbolCollector.cs @@ -129,10 +129,13 @@ namespace ICSharpCode.NRefactory.Analysis } if (member.DeclaringType.Kind == TypeKind.Interface) { - foreach (var derivedType in g.GetNode (member.DeclaringTypeDefinition).DerivedTypes) { - var mem = SearchMember (derivedType.TypeDefinition, member); - if (mem != null) - symbols.Add (mem); + var declaringTypeNode = g.GetNode(member.DeclaringTypeDefinition); + if (declaringTypeNode != null) { + foreach (var derivedType in declaringTypeNode.DerivedTypes) { + var mem = SearchMember (derivedType.TypeDefinition, member); + if (mem != null) + symbols.Add (mem); + } } }