There is some logic in references to look for references in associated files. For example, if you do a search for a symbol declared in file.h, it will try to add file.c to the list of files to search for references in. Since you are on a case-sensitive OS, but working with a case-insensitive file system, when it cycles through the list of associated file extensions, it's going to find a match for both "file.c" and "file.C". Without actually comparing i-nodes, being on a case-sensitive OS, we just assume those are two different files and include them in the list. This could be better, but it would be a lot of effort for a special case.