=== modified file 'pcbnew/kicad_plugin.cpp'
--- pcbnew/kicad_plugin.cpp	2013-06-24 05:30:22 +0000
+++ pcbnew/kicad_plugin.cpp	2013-07-19 13:53:49 +0000
@@ -259,8 +259,10 @@
 
     do
     {
+        wxFileName fn = fpFileName;
+        fn.SetPath( m_lib_path.GetPath() );
         // reader now owns fp, will close on exception or return
-        FILE_LINE_READER    reader( fpFileName );
+        FILE_LINE_READER    reader( fn.GetFullPath() );
 
         m_owner->m_parser->SetLineReader( &reader );
 

=== modified file 'pcbnew/librairi.cpp'
--- pcbnew/librairi.cpp	2013-05-28 16:54:59 +0000
+++ pcbnew/librairi.cpp	2013-07-19 12:24:18 +0000
@@ -825,7 +825,7 @@
     wxString uri = m_footprintLibTable->FindRow( dlg.GetTextSelection() )->GetFullURI();
     wxFileName fileName = FP_LIB_TABLE::ExpandSubstitutions( uri );
 
-    if( fileName.IsOk() && fileName.FileExists() )
+    if( fileName.IsOk() && (fileName.FileExists() || fileName.DirExists()) )
     {
         setLibPath( fileName.GetFullPath() );
     }

