diff --git a/GNUmakefiles/AAsmModule b/GNUmakefiles/AAsmModule
index ccf93833577d9d18fabd281a38fcc66240ae2d17..4f554f14547e364a95f495e98856a7fa9b3b0cff 100644
--- a/GNUmakefiles/AAsmModule
+++ b/GNUmakefiles/AAsmModule
@@ -127,6 +127,10 @@ endif
 
 SOURCES_TO_SYMLINK += $(wildcard h/*) $(wildcard hdr/*) $(wildcard s/*) Resources VersionNum VersionASM
 
+ifeq ("${INCLUDED_STDTOOLS}","")
+include StdTools
+endif
+
 ifneq (objs,$(notdir ${CURDIR}))
 
 # Makefile invoked from same directory
@@ -172,10 +176,6 @@ else
 
 # Makefile invoked from objs subdirectory
 
-ifeq ("${INCLUDED_STDTOOLS}","")
-include StdTools
-endif
-
 all: rom debug standalone
 
 # GNU make seems to treat any double-colon rule with no dependencies as
diff --git a/GNUmakefiles/CApp b/GNUmakefiles/CApp
index 863b3298fc63d6c3dd59711a96c7359b6cf2e2bf..acc6d5abc336ad64064a93391a1f50a91d86faec 100644
--- a/GNUmakefiles/CApp
+++ b/GNUmakefiles/CApp
@@ -111,6 +111,12 @@ ROM_OBJS_     = $(addsuffix .oz,${ROM_OBJS})
 
 SOURCES_TO_SYMLINK += $(wildcard c/*) $(wildcard c++/*) $(wildcard h/*) $(wildcard s/*) VersionNum VersionASM
 
+ifeq ("${INCLUDED_STDTOOLS}","")
+ifeq ("${INCLUDED_HOSTTOOLS}","")
+include StdTools
+endif
+endif
+
 ifneq (objs,$(notdir ${CURDIR}))
 
 # Makefile invoked from same directory
@@ -151,12 +157,6 @@ else
 
 # Makefile invoked from objs subdirectory
 
-ifeq ("${INCLUDED_STDTOOLS}","")
-ifeq ("${INCLUDED_HOSTTOOLS}","")
-include StdTools
-endif
-endif
-
 ifeq ($(filter rom%,${MAKECMDGOALS}),)
 ifeq ("${INCLUDED_APPLIBS}","")
 include AppLibs
diff --git a/GNUmakefiles/CLibrary b/GNUmakefiles/CLibrary
index 534bc5bdaa7dc4e96f5f9910fa4dbbff6d2cef36..a980b9ca6758b32405e660f232519d8885b7c5d2 100644
--- a/GNUmakefiles/CLibrary
+++ b/GNUmakefiles/CLibrary
@@ -109,6 +109,10 @@ endif
 
 SOURCES_TO_SYMLINK += $(wildcard c/*) $(wildcard h/*) $(wildcard s/*)
 
+ifeq ("${INCLUDED_STDTOOLS}","")
+include StdTools
+endif
+
 ifneq (objs,$(notdir ${CURDIR}))
 
 # Makefile invoked from same directory
@@ -148,10 +152,6 @@ else
 
 # Makefile invoked from objs subdirectory
 
-ifeq ("${INCLUDED_STDTOOLS}","")
-include StdTools
-endif
-
 ifeq ("${INCLUDED_STDRULES}","")
 include StdRules
 endif
diff --git a/GNUmakefiles/CModule b/GNUmakefiles/CModule
index faae272bcb054a097057475ae363ae14f8f13201..e1852a4e41968253bc8c55d44966cc767d15e0e3 100644
--- a/GNUmakefiles/CModule
+++ b/GNUmakefiles/CModule
@@ -208,6 +208,10 @@ TOKENSOURCE  := TokHelpSrc.s
 
 SOURCES_TO_SYMLINK += $(wildcard c/*) $(wildcard c++/*) $(wildcard cmhg/*) $(wildcard h/*) $(wildcard hdr/*) $(wildcard s/*) VersionNum VersionASM
 
+ifeq ("${INCLUDED_STDTOOLS}","")
+include StdTools
+endif
+
 ifneq (objs,$(notdir ${CURDIR}))
 
 # Makefile invoked from same directory
@@ -254,9 +258,6 @@ ifneq ("${ASM2TXT_EXT}","")
 ASM2TXT_EXT  := .${ASM2TXT_EXT}
 endif
 
-ifeq ("${INCLUDED_STDTOOLS}","")
-include StdTools
-endif
 ifeq ("${INCLUDED_MODULELIBS}","")
 include ModuleLibs
 endif