diff --git a/GNUmakefiles/AAsmModule b/GNUmakefiles/AAsmModule
index e501221f117a8b3a8c1adc2a7d6c8cdb23169022..f2c7c49c3d4b92a8a7ba299b7d04c4bd968b94d0 100644
--- a/GNUmakefiles/AAsmModule
+++ b/GNUmakefiles/AAsmModule
@@ -237,7 +237,7 @@ ${MERGEDMSGS}:
 	${MKDIR} ${MERGEDRDIR}/${TARGET}
 	${TOUCH} ${MERGEDRDIR}/tmp/Messages
 	${TOUCH} ${MERGEDRDIR}/tmp/CmdHelp
-	${INSTRES} -I Resources.${USERIF}.${LOCALE},Resources.${USERIF}.UK,Resources.${LOCALE},Resources.UK,Resources ${MERGEDRDIR} [Messages] [CmdHelp]
+	${INSTRES} -I Resources.${USERIF}.${LOCALE},Resources.${USERIF}.UK,Resources.${LOCALE},Resources.UK,Resources ${MERGEDRDIR}/tmp [Messages] [CmdHelp]
 	${CAT} ${MERGEDRDIR}/tmp/Messages ${MERGEDRDIR}/tmp/CmdHelp > $@
 	${WIPE} ${MERGEDRDIR}/tmp
 else
diff --git a/GNUmakefiles/CModule b/GNUmakefiles/CModule
index 5da3e50e734970a34be320b609a017a22da37b9d..3bb53a4823a2fc4e63d66da7b9dbf6218ff080d1 100644
--- a/GNUmakefiles/CModule
+++ b/GNUmakefiles/CModule
@@ -144,7 +144,7 @@ INSTRAM_DEPENDS ?= ${INSTRES_DEPENDS}
 INSTROM_FILES   ?= ${INSTRES_FILES}
 INSTROM_DEPENDS ?= ${INSTRES_DEPENDS}
 MERGEDRDIR   ?= _ResData_
-MERGEDMSGS   ?= ${MERGEDRDIR}/${TARGET}/Messages
+MERGEDMSGS   ?= ${MERGEDRDIR}/${TARGET}/MergedMessages
 RES_AREA     ?= Resources
 RES_OBJ      ?= ${TARGET}Msgs
 RES_PATH     ?= Resources
@@ -162,7 +162,7 @@ ROM_OBJS     += ${CMHGFILE}
 SA_OBJS      += ${CMHGFILE}
 DBG_OBJS     += ${CMHGFILE}
 ifeq ($(filter no custom,${CUSTOMRES}),)
-RESDIR       ?= ${MERGEDRDIR}  # Place to internally collect up contents of RES_OBJ
+RESDIR       ?= ${MERGEDRDIR}
 SA_OBJS      += ${RES_OBJ}
 DBG_OBJS     += ${RES_OBJ}
 endif
@@ -358,7 +358,7 @@ resources_common:
 	${INSTRES} -I Resources.${USERIF}.${LOCALE},Resources.${USERIF}.UK,Resources.${LOCALE},Resources.UK,Resources ${RESFSDIR} [Messages]
 
 resources_cmdhelp: ${MERGEDMSGS}
-	${CP} ${MERGEDMSGS} ${RESFSDIR}/Messages
+	mv ${MERGEDMSGS} ${RESFSDIR}/Messages
 
 resources-None: resources_common resources_extra
 	@${NOP}
@@ -373,6 +373,20 @@ ${RES_OBJ}.o: ${DIRS} resources-${CMDHELP}
 ${RES_OBJ}.od: ${RES_OBJ}.o
 	${CP} $< $@
 
+ifeq ($(filter no custom,${CUSTOMRES}),)
+${MERGEDMSGS}:
+	${MKDIR} ${MERGEDRDIR}/tmp
+	${MKDIR} ${MERGEDRDIR}/${TARGET}
+	${TOUCH} ${MERGEDRDIR}/tmp/Messages
+	${TOUCH} ${MERGEDRDIR}/tmp/CmdHelp
+	${INSTRES} -I Resources.${USERIF}.${LOCALE},Resources.${USERIF}.UK,Resources.${LOCALE},Resources.UK,Resources ${MERGEDRDIR}/tmp [Messages] [CmdHelp]
+	${CAT} ${MERGEDRDIR}/tmp/Messages ${MERGEDRDIR}/tmp/CmdHelp > $@
+	${WIPE} ${MERGEDRDIR}/tmp
+else
+${MERGEDMSGS}::
+	@${NOP}
+endif
+
 #
 # ROM build rules
 #