Hi Michael, > Why are the 2 header files treated differently in the second case? Because in the second case, /tmp/foo1.h was found in the same location as /tmp/foo1.c (as per the behavior of #include ""). While in the first case, foo1.h was found in the same location as foo1.c (as per the behavior of #include ""). Which is because the two cases are being treated identically. HTH, --Eljay