diff --git a/soh/assets/objects/object_mag/object_mag.h b/soh/assets/objects/object_mag/object_mag.h
index b470b71dd..720d0cbe5 100644
--- a/soh/assets/objects/object_mag/object_mag.h
+++ b/soh/assets/objects/object_mag/object_mag.h
@@ -18,6 +18,12 @@ static const ALIGN_ASSET(2) char gTitleCopyright19982002Tex[] = dgTitleCopyright
#define dgTitleCopyright19982003Tex "__OTR__objects/object_mag/gTitleCopyright19982003Tex"
static const ALIGN_ASSET(2) char gTitleCopyright19982003Tex[] = dgTitleCopyright19982003Tex;
+#define dgTitleCopyright19982004EngTex "__OTR__objects/object_mag/gTitleCopyright19982004EngTex"
+static const ALIGN_ASSET(2) char gTitleCopyright19982004EngTex[] = dgTitleCopyright19982004EngTex;
+
+#define dgTitleCopyright19982004JpnTex "__OTR__objects/object_mag/gTitleCopyright19982004JpnTex"
+static const ALIGN_ASSET(2) char gTitleCopyright19982004JpnTex[] = dgTitleCopyright19982004JpnTex;
+
#define dgTitleMasterQuestSubtitleTex "__OTR__objects/object_mag/gTitleMasterQuestSubtitleTex"
static const ALIGN_ASSET(2) char gTitleMasterQuestSubtitleTex[] = dgTitleMasterQuestSubtitleTex;
diff --git a/soh/assets/xml/GC_MQ_NTSC_J/objects/object_mag.xml b/soh/assets/xml/GC_MQ_NTSC_J/objects/object_mag.xml
index b2b082e6b..6e07fa2cd 100644
--- a/soh/assets/xml/GC_MQ_NTSC_J/objects/object_mag.xml
+++ b/soh/assets/xml/GC_MQ_NTSC_J/objects/object_mag.xml
@@ -1,7 +1,7 @@
-
+
@@ -18,4 +18,4 @@
-
\ No newline at end of file
+
diff --git a/soh/assets/xml/GC_NMQ_NTSC_J/objects/object_mag.xml b/soh/assets/xml/GC_NMQ_NTSC_J/objects/object_mag.xml
index b68d4227a..063d801a3 100644
--- a/soh/assets/xml/GC_NMQ_NTSC_J/objects/object_mag.xml
+++ b/soh/assets/xml/GC_NMQ_NTSC_J/objects/object_mag.xml
@@ -1,7 +1,7 @@
-
+
@@ -17,4 +17,4 @@
-
\ No newline at end of file
+
diff --git a/soh/assets/xml/GC_NMQ_NTSC_J_CE/objects/object_mag.xml b/soh/assets/xml/GC_NMQ_NTSC_J_CE/objects/object_mag.xml
index 84467d76d..6276dee1d 100644
--- a/soh/assets/xml/GC_NMQ_NTSC_J_CE/objects/object_mag.xml
+++ b/soh/assets/xml/GC_NMQ_NTSC_J_CE/objects/object_mag.xml
@@ -1,8 +1,8 @@
-
-
+
+
@@ -18,4 +18,4 @@
-
\ No newline at end of file
+
diff --git a/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c
index b7ba0617a..6290d65be 100644
--- a/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c
+++ b/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c
@@ -484,8 +484,17 @@ bool EnMag_ShouldDrawPressStart(Font* font, Gfx** gfxP, bool isActualText) {
// Title logo is shifted to the left in Master Quest
#define LOGO_X_SHIFT (isMQ ? 0 : -8)
#define LOGO_TEX (isMQ ? gTitleZeldaShieldLogoMQTex : gTitleZeldaShieldLogoTex)
+// Copyright texture is different depending on the version
+// JPN CE displays two slightly different 2004 copyrights when lang is jpn or not
+// Otherwise the other GC JPN versions either display 2002 for JPN or 2003 for others
+// Else fallback to 2003 for GC or 1998 for N64
+#define COPYRIGHT_TEX \
+ (isJpnGC_CE \
+ ? (gSaveContext.language == LANGUAGE_JPN ? gTitleCopyright19982004JpnTex : gTitleCopyright19982004EngTex) \
+ : (isGC ? ((isJpnGC_notCE || gSaveContext.language == LANGUAGE_JPN) ? gTitleCopyright19982002Tex \
+ : gTitleCopyright19982003Tex) \
+ : gTitleCopyright1998Tex))
// Copyright texture is larger on GC
-#define COPYRIGHT_TEX (isGC ? gTitleCopyright19982003Tex : gTitleCopyright1998Tex)
#define COPYRIGHT_TEX_WIDTH (isGC ? 160 : 128)
#define COPYRIGHT_TEX_LEFT (isGC ? 78 : 94)
@@ -515,6 +524,9 @@ void EnMag_DrawInner(Actor* thisx, PlayState* play, Gfx** gfxP) {
u16 rectTop;
bool isMQ = ResourceMgr_IsGameMasterQuest();
bool isGC = ResourceMgr_GetGamePlatform(0) == GAME_PLATFORM_GC;
+ bool isJpnGC_CE = isGC && ResourceMgr_GetGameVersion(0) == OOT_NTSC_JP_GC_CE;
+ bool isJpnGC_notCE =
+ isGC && (ResourceMgr_GetGameVersion(0) == OOT_NTSC_JP_GC || ResourceMgr_GetGameVersion(0) == OOT_NTSC_JP_MQ);
gSPSegment(gfx++, 0x06, play->objectCtx.status[this->actor.objBankIndex].segment);