diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp
index 649eb7a..fc40f78 100644
--- a/tools/llvm-ar/llvm-ar.cpp
+++ b/tools/llvm-ar/llvm-ar.cpp
@@ -281,7 +281,8 @@
     for (std::set<sys::Path>::iterator I = content.begin(), E = content.end();
          I != E; ++I) {
       // Make sure it exists and is a directory
-      const sys::FileStatus *Status = I->getFileStatus(false, ErrMsg);
+      const sys::FileStatus *Status =
+        sys::PathWithStatus(*I).getFileStatus(false, ErrMsg);
       if (!Status)
         return true;
       if (Status->isDir) {
@@ -309,7 +310,8 @@
       if (!aPath.exists())
         throw std::string("File does not exist: ") + Members[i];
       std::string Err;
-      const sys::FileStatus *si = aPath.getFileStatus(false, &Err);
+      const sys::FileStatus *si = 
+        sys::PathWithStatus(aPath).getFileStatus(false, &Err);
       if (!si)
         throw Err;
       if (si->isDir) {
@@ -645,7 +647,8 @@
 
     if (found != remaining.end()) {
       std::string Err;
-      const sys::FileStatus *si = found->getFileStatus(false, &Err);
+      const sys::FileStatus *si = 
+        sys::PathWithStatus(*found).getFileStatus(false, &Err);
       if (!si)
         return true;
       if (si->isDir) {
