diff --git a/.zenodo.json b/.zenodo.json
index bb5af05e1cc385cd990d58c6935b6a3da1740c9d..dc6c0adeaf0661332a03fe95bebd30ece5021e5a 100644
--- a/.zenodo.json
+++ b/.zenodo.json
@@ -336,6 +336,10 @@
     {
       "name": "Miller-Ribelin, Elizabeth"
     },
+    {
+      "affiliation": "Japan Aerospace Exploration Agency, Institute of Space and Astronautical Science",
+      "name": "Murakami, Shin-ya",
+      "orcid": "0000-0002-7137-4849"
     {
       "affiliation": "United States Geological Survey, Astro Geology Science Center",
       "name": "Nelson, Gavin"
diff --git a/CHANGELOG.md b/CHANGELOG.md
index aba827254e490f35c51f0ffa73327627c8ae63c7..33e339fb978d62abb586ad3d22d307d42b60116a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -35,6 +35,10 @@ release.
 
 ## [Unreleased]
 
+### Fixed
+
+- Fixed a bug in kaguyasp2isis that doesn't work for data with a detached label.
+
 ## [8.3.0] - 2024-08-16
 
 ### Added
diff --git a/isis/src/kaguya/apps/kaguyasp2ascii/main.cpp b/isis/src/kaguya/apps/kaguyasp2ascii/main.cpp
index ac42ba6e280a2e529f594d9f09e8eca551a3e39f..a298615b59f3af2d7e5b1fc671d45d3120ba71d6 100644
--- a/isis/src/kaguya/apps/kaguyasp2ascii/main.cpp
+++ b/isis/src/kaguya/apps/kaguyasp2ascii/main.cpp
@@ -11,6 +11,7 @@ find files of those names at the top level of this repository. **/
 #include <bitset>
 #include <cstdio>
 #include <QString>
+#include <QDir>
 
 #include "ProcessImportPds.h"
 
@@ -32,12 +33,20 @@ void IsisMain() {
   // Detached labels use format keyword = "dataFile" value <unit>
   int keywordIndex = 1;
 
-  if (FileName(inFile).baseName() == FileName(dataFile).baseName()){
-    // data files usually do not include path information.  If input basename matches datafile basename, include path information
-    // this allows users to specify data that is not in the current directory.
+  // Determine label for inFile is attached label or detached label
+  if (FileName(inFile).name() == FileName(dataFile).name()){
+    // If input filename matches datafile filename without path information,
+    // one assumes label file for inFile is attached label, otherwise
+    // detached label.
     dataFile = inFile;
     // Attached labels use format keyword = value <units>
     keywordIndex = 0;
+  } else {
+     // data files specification in label usually do not include path
+     // information. If label is detached label, data file is located at
+     // the same directory as label file. 
+     // this allows users to specify data that is not in the current directory.
+     dataFile = FileName(inFile).dir().path() + "/" + dataFile;
   }
 
   ofstream os;