diff --git a/llvm/unittests/Support/LockFileManagerTest.cpp b/llvm/unittests/Support/LockFileManagerTest.cpp
index 6392739..91339ff 100644
--- a/llvm/unittests/Support/LockFileManagerTest.cpp
+++ b/llvm/unittests/Support/LockFileManagerTest.cpp
@@ -76,4 +76,41 @@
   ASSERT_FALSE(EC);
 }
 
+
+TEST(LockFileManagerTest, RelativePath) {
+  SmallString<64> TmpDir;
+  error_code EC;
+  EC = sys::fs::createUniqueDirectory("LockFileManagerTestDir", TmpDir);
+  ASSERT_FALSE(EC);
+
+  char PathBuf[1024];
+  const char *OrigPath = getcwd(PathBuf, 1024);
+  chdir(TmpDir.c_str());
+
+  sys::fs::create_directory("inner");
+  SmallString<64> LockedFile("inner");
+  sys::path::append(LockedFile, "file");
+
+  SmallString<64> FileLock(LockedFile);
+  FileLock += ".lock";
+
+  {
+    // The lock file should not exist, so we should successfully acquire it.
+    LockFileManager Locked(LockedFile);
+    EXPECT_EQ(LockFileManager::LFS_Owned, Locked.getState());
+    EXPECT_TRUE(sys::fs::exists(FileLock.str()));
+  }
+
+  // Now that the lock is out of scope, the file should be gone.
+  EXPECT_FALSE(sys::fs::exists(LockedFile.str()));
+  EXPECT_FALSE(sys::fs::exists(FileLock.str()));
+
+  EC = sys::fs::remove("inner");
+  ASSERT_FALSE(EC);
+  EC = sys::fs::remove(StringRef(TmpDir));
+  ASSERT_FALSE(EC);
+
+  chdir(OrigPath);
+}
+
 } // end anonymous namespace
