diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
index 7e823208840e96fb1558dc161efb9b40c85fc46b..185bc563e68fa69b93130bf221accfe26f87d81c 100644
--- a/dlls/ntdll/Makefile.in
+++ b/dlls/ntdll/Makefile.in
@@ -7,6 +7,7 @@ EXTRAINCL = $(UNWIND_CFLAGS)
 EXTRALIBS = $(IOKIT_LIBS) $(COREFOUNDATION_LIBS) $(CORESERVICES_LIBS) $(RT_LIBS) $(PTHREAD_LIBS) $(UNWIND_LIBS) $(I386_LIBS) $(PROCSTAT_LIBS)
 
 EXTRADLLFLAGS = -nodefaultlibs -Wl,--image-base,0x7bc00000
+x86_64_EXTRADLLFLAGS = -nodefaultlibs -Wl,--image-base,0x170000000
 
 C_SRCS = \
 	actctx.c \
diff --git a/tools/makedep.c b/tools/makedep.c
index 2301ecf191e42eb3f61e26fe960ed0944b7d3e64..e69dc3ce0a4a71ccdd39ed82353b3955fbff4003 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -4131,6 +4131,12 @@ static void load_sources( struct makefile *make )
     if (make->extlib) make->staticlib = make->extlib;
     if (make->staticlib) make->module = make->staticlib;
 
+    if (host_cpu)
+    {
+        value = get_expanded_file_local_var( make, host_cpu, "EXTRADLLFLAGS" );
+        if (value.count) make->extradllflags = value;
+    }
+
     make->disabled   = make->obj_dir && strarray_exists( &disabled_dirs, make->obj_dir );
     make->is_win16   = strarray_exists( &make->extradllflags, "-m16" );
     make->use_msvcrt = (make->module || make->testdll || make->is_win16) &&