diff --git a/ghc/lib/std/Makefile b/ghc/lib/std/Makefile
index d109fbae39b800d6b0c36e1be44574a3f90a8f96..491d87d584408f5ca7eb29eaffbdc66ffcb78df8 100644
--- a/ghc/lib/std/Makefile
+++ b/ghc/lib/std/Makefile
@@ -18,12 +18,13 @@ else
 SUBDIRS=
 endif
 
-HC = $(GHC_INPLACE)
-
 #-----------------------------------------------------------------------------
 # 	Setting the standard variables
 #
 
+HC 	   = $(GHC_INPLACE)
+MKDEPENDHS = $(GHC_INPLACE)
+
 LIBRARY = libHS$(_way).a
 LIBOBJS = $(HS_OBJS)
 
diff --git a/mk/config.mk.in b/mk/config.mk.in
index f9bddb8f75d752a375b27c8c191b9c03ffaf3dc7..2c3a29240ec0512d248c1e908e90025891f5ad46 100644
--- a/mk/config.mk.in
+++ b/mk/config.mk.in
@@ -312,6 +312,7 @@ HappyHcOpts = -O
 #
 ################################################################################
 
+WithNofibHc = $(GHC_INPLACE)
 
 # NoFibSubDirs controls which set of tests should be run
 # You can run one or more of
@@ -504,6 +505,12 @@ NHC		= @NHC@
 HC		= @WithHc@
 MKDEPENDHS	= $(GHC)
 
+# Sometimes we want to invoke ghc from the build tree in different
+# projects (eg. it's handy to have a nofib & a ghc build in the same
+# tree).  We can refer to "this ghc" as $(GHC_INPLACE):
+
+GHC_INPLACE 	= $(FPTOOLS_TOP)/ghc/driver/ghc-inplace
+
 #-----------------------------------------------------------------------------
 # C compiler
 #