diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index 481715f17c..e197d35997 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -383,15 +383,13 @@ ResultVal<Kernel::SharedPtr<Directory>> OpenDirectoryFromArchive(ArchiveHandle a
     return MakeResult<Kernel::SharedPtr<Directory>>(std::move(directory));
 }
 
-ResultCode FormatSaveData() {
-    // Do not create the archive again if it already exists
-    auto archive_itr = id_code_map.find(ArchiveIdCode::SaveData);
+ResultCode FormatArchive(ArchiveIdCode id_code, const FileSys::Path& path) {
+    auto archive_itr = id_code_map.find(id_code);
     if (archive_itr == id_code_map.end()) {
         return UnimplementedFunction(ErrorModule::FS); // TODO(Subv): Find the right error
     }
 
-    // Use an empty path, we do not use it when formatting the savedata
-    return archive_itr->second->Format(FileSys::Path());
+    return archive_itr->second->Format(path);
 }
 
 ResultCode CreateExtSaveData(u32 high, u32 low) {
diff --git a/src/core/hle/service/fs/archive.h b/src/core/hle/service/fs/archive.h
index e27ad7d607..c490327d02 100644
--- a/src/core/hle/service/fs/archive.h
+++ b/src/core/hle/service/fs/archive.h
@@ -162,10 +162,13 @@ ResultVal<Kernel::SharedPtr<Directory>> OpenDirectoryFromArchive(ArchiveHandle a
         const FileSys::Path& path);
 
 /**
- * Creates a blank SaveData archive.
+ * Erases the contents of the physical folder that contains the archive
+ * identified by the specified id code and path
+ * @param id_code The id of the archive to format
+ * @param path The path to the archive, if relevant.
  * @return ResultCode 0 on success or the corresponding code on error
  */
-ResultCode FormatSaveData();
+ResultCode FormatArchive(ArchiveIdCode id_code, const FileSys::Path& path = FileSys::Path());
 
 /**
  * Creates a blank SharedExtSaveData archive for the specified extdata ID
diff --git a/src/core/hle/service/fs/fs_user.cpp b/src/core/hle/service/fs/fs_user.cpp
index d57dd042b1..71ee4ff551 100644
--- a/src/core/hle/service/fs/fs_user.cpp
+++ b/src/core/hle/service/fs/fs_user.cpp
@@ -468,7 +468,7 @@ static void FormatSaveData(Service::Interface* self) {
         return;
     }
 
-    cmd_buff[1] = FormatSaveData().raw;
+    cmd_buff[1] = FormatArchive(ArchiveIdCode::SaveData).raw;
 }
 
 /**
@@ -484,7 +484,7 @@ static void FormatThisUserSaveData(Service::Interface* self) {
 
     // TODO(Subv): Find out what the inputs and outputs of this function are
 
-    cmd_buff[1] = FormatSaveData().raw;
+    cmd_buff[1] = FormatArchive(ArchiveIdCode::SaveData).raw;
 }
 
 static void CreateExtSaveData(Service::Interface* self) {