diff --git a/lib/Archive/ArchiveWriter.cpp b/lib/Archive/ArchiveWriter.cpp
index 59fb7bd..c5ad5fc 100644
--- a/lib/Archive/ArchiveWriter.cpp
+++ b/lib/Archive/ArchiveWriter.cpp
@@ -364,8 +364,9 @@
   // Create a temporary file to store the archive in
   SmallString<128> TempArchivePath;
   int ArchFD;
-  if (error_code ec = sys::fs::unique_file("%%-%%-%%-%%" + archPath.str(),
-                                                 ArchFD, TempArchivePath)) {
+  if (error_code ec =
+      sys::fs::unique_file("%%-%%-%%-%%-" + sys::path::filename(archPath.str()),
+                           ArchFD, TempArchivePath)) {
     if (ErrMsg) *ErrMsg = ec.message();
     return true;
   }
@@ -421,8 +422,9 @@
 
     // Open another temporary file in order to avoid invalidating the
     // mmapped data
-    if (error_code ec = sys::fs::unique_file("%%-%%-%%-%%" + archPath.str(),
-                                      ArchFD, TempArchiveWithSymbolTablePath)) {
+    if (error_code ec =
+      sys::fs::unique_file("%%-%%-%%-%%-" + sys::path::filename(archPath.str()),
+                           ArchFD, TempArchiveWithSymbolTablePath)) {
       if (ErrMsg) *ErrMsg = ec.message();
       return true;
     }
