diff --git a/android-qemu2-glue/qemu-automation-agent-impl.cpp b/android-qemu2-glue/qemu-automation-agent-impl.cpp
index da2d767..c6c3ff5 100644
--- a/android-qemu2-glue/qemu-automation-agent-impl.cpp
+++ b/android-qemu2-glue/qemu-automation-agent-impl.cpp
@@ -46,8 +46,7 @@
     AutomationController::get().setMacroName(macroName, filename);
 }
 
-static android::base::StringView get_macro_name(
-        android::base::StringView filename) {
+static std::string get_macro_name(android::base::StringView filename) {
     return AutomationController::get().getMacroName(filename);
 }
 
diff --git a/android/android-emu/android/automation/AutomationController.cpp b/android/android-emu/android/automation/AutomationController.cpp
index 716a39b..0e9694a 100644
--- a/android/android-emu/android/automation/AutomationController.cpp
+++ b/android/android-emu/android/automation/AutomationController.cpp
@@ -372,7 +372,7 @@
 
     // MacroUI helper functions.
     void setMacroName(StringView macroName, StringView filename) override;
-    StringView getMacroName(StringView filename) override;
+    std::string getMacroName(StringView filename) override;
     uint64_t getDurationNs(StringView filename) override;
 
     ReplayResult replayInitialState(StringView state) override;
@@ -714,7 +714,7 @@
     return Ok();
 }
 
-StringView AutomationControllerImpl::getMacroName(StringView filename) {
+std::string AutomationControllerImpl::getMacroName(StringView filename) {
     std::string path = filename;
     if (!PathUtils::isAbsolute(path)) {
         path = PathUtils::join(System::get()->getHomeDirectory(), filename);
@@ -731,9 +731,7 @@
         return "";
     }
 
-    // Cast to std::string before casting to Stringview.
-    const std::string result = header.name();
-    return result;
+    return header.name();
 }
 
 uint64_t AutomationControllerImpl::getDurationNs(StringView filename) {
diff --git a/android/android-emu/android/automation/AutomationController.h b/android/android-emu/android/automation/AutomationController.h
index bb683e4..71d5b3f 100644
--- a/android/android-emu/android/automation/AutomationController.h
+++ b/android/android-emu/android/automation/AutomationController.h
@@ -137,8 +137,7 @@
                               android::base::StringView filename) = 0;
 
     // Get the macro name from the header of a file.
-    virtual android::base::StringView getMacroName(
-            android::base::StringView filename) = 0;
+    virtual std::string getMacroName(android::base::StringView filename) = 0;
 
     // Get the duration in nanoseconds from a file.
     virtual uint64_t getDurationNs(android::base::StringView filename) = 0;
diff --git a/android/android-emu/android/emulation/control/automation_agent.h b/android/android-emu/android/emulation/control/automation_agent.h
index a8e402700..db4f441 100644
--- a/android/android-emu/android/emulation/control/automation_agent.h
+++ b/android/android-emu/android/emulation/control/automation_agent.h
@@ -43,7 +43,7 @@
     void (*setMacroName)(StringView macroName, StringView filename);
 
     // Get the macro name from the header of a file.
-    StringView (*getMacroName)(StringView filename);
+    std::string (*getMacroName)(StringView filename);
 
     // Get the duration in nanoseconds from a file.
     uint64_t (*getDurationNs)(StringView filename);
diff --git a/android/android-emu/android/skin/qt/extended-pages/record-macro-page.cpp b/android/android-emu/android/skin/qt/extended-pages/record-macro-page.cpp
index acb8671..8eb05c2 100644
--- a/android/android-emu/android/skin/qt/extended-pages/record-macro-page.cpp
+++ b/android/android-emu/android/skin/qt/extended-pages/record-macro-page.cpp
@@ -783,7 +783,7 @@
         mLengths[macroName] = qs;
 
         macroSavedItem->setDisplayTime(mLengths[macroName]);
-        macroName = sAutomationAgent->getMacroName(filePath).str();
+        macroName = sAutomationAgent->getMacroName(filePath);
         connect(macroSavedItem,
                 SIGNAL(editButtonClickedSignal(RecordMacroSavedItem*)), this,
                 SLOT(editButtonClicked(RecordMacroSavedItem*)));
