diff --git a/src/core/file_sys/card_image.cpp b/src/core/file_sys/card_image.cpp
index 1188813c71a44692ffb8afcb47a52ab064a16cfb..8e05b9d0eb6907826ce0c7996d100b0f16a8b10c 100644
--- a/src/core/file_sys/card_image.cpp
+++ b/src/core/file_sys/card_image.cpp
@@ -107,11 +107,11 @@ VirtualFile XCI::GetNCAFileByType(NCAContentType type) const {
     return nullptr;
 }
 
-std::vector<std::shared_ptr<VfsFile>> XCI::GetFiles() const {
+std::vector<VirtualFile> XCI::GetFiles() const {
     return {};
 }
 
-std::vector<std::shared_ptr<VfsDirectory>> XCI::GetSubdirectories() const {
+std::vector<VirtualDir> XCI::GetSubdirectories() const {
     return {};
 }
 
@@ -119,7 +119,7 @@ std::string XCI::GetName() const {
     return file->GetName();
 }
 
-std::shared_ptr<VfsDirectory> XCI::GetParentDirectory() const {
+VirtualDir XCI::GetParentDirectory() const {
     return file->GetContainingDirectory();
 }
 
diff --git a/src/core/file_sys/card_image.h b/src/core/file_sys/card_image.h
index e089d737cb3e4c4f80f6003a4af675d924dd446e..4618d9c001c1c7a370443ce3dc19d35b68624d8d 100644
--- a/src/core/file_sys/card_image.h
+++ b/src/core/file_sys/card_image.h
@@ -71,13 +71,13 @@ public:
     std::shared_ptr<NCA> GetNCAByType(NCAContentType type) const;
     VirtualFile GetNCAFileByType(NCAContentType type) const;
 
-    std::vector<std::shared_ptr<VfsFile>> GetFiles() const override;
+    std::vector<VirtualFile> GetFiles() const override;
 
-    std::vector<std::shared_ptr<VfsDirectory>> GetSubdirectories() const override;
+    std::vector<VirtualDir> GetSubdirectories() const override;
 
     std::string GetName() const override;
 
-    std::shared_ptr<VfsDirectory> GetParentDirectory() const override;
+    VirtualDir GetParentDirectory() const override;
 
 protected:
     bool ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) override;