diff --git a/arch/um/Makefile b/arch/um/Makefile
index 33d59f1ff57fb52a938fed7d8c2a46d4d82543ef..909d16b07a446a33cd171b5b55c9ea7c1a851cfb 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -20,7 +20,7 @@ core-y			+= $(ARCH_DIR)/kernel/		\
 
 # Have to precede the include because the included Makefiles reference them.
 SYMLINK_HEADERS := archparam.h system.h processor.h ptrace.h \
-	module.h vm-flags.h elf.h host_ldt.h
+	module.h vm-flags.h elf.h
 SYMLINK_HEADERS := $(foreach header,$(SYMLINK_HEADERS),$(ARCH_DIR)/include/asm/$(header))
 
 # XXX: The "os" symlink is only used by arch/um/include/os.h, which includes
diff --git a/arch/um/include/asm/processor-i386.h b/arch/um/include/asm/processor-i386.h
index 4f8be00636391b310c4cae87a25cdd02cd48de3c..82a9061ab5be641fb72763e89efe96c1f346f08e 100644
--- a/arch/um/include/asm/processor-i386.h
+++ b/arch/um/include/asm/processor-i386.h
@@ -7,7 +7,7 @@
 #define __UM_PROCESSOR_I386_H
 
 #include "linux/string.h"
-#include "asm/host_ldt.h"
+#include <sysdep/host_ldt.h>
 #include "asm/segment.h"
 
 extern int host_has_cmov;
diff --git a/arch/um/include/asm/ptrace-x86_64.h b/arch/um/include/asm/ptrace-x86_64.h
index 4c475350dcf02a545102042493508d9aa70686ba..2653fbaa352e60168223c30965b5407d29ed8f41 100644
--- a/arch/um/include/asm/ptrace-x86_64.h
+++ b/arch/um/include/asm/ptrace-x86_64.h
@@ -9,7 +9,7 @@
 
 #include "linux/compiler.h"
 #include "asm/errno.h"
-#include "asm/host_ldt.h"
+#include <sysdep/host_ldt.h>
 
 #define __FRAME_OFFSETS /* Needed to get the R* macros */
 #include "asm/ptrace-generic.h"
diff --git a/arch/um/include/asm/ldt.h b/arch/um/include/shared/ldt.h
similarity index 95%
rename from arch/um/include/asm/ldt.h
rename to arch/um/include/shared/ldt.h
index 52af512f5e7dcf272a73de968b709f900218e98d..a7f999a58774d636f5003f08910f10a5f4dcd40f 100644
--- a/arch/um/include/asm/ldt.h
+++ b/arch/um/include/shared/ldt.h
@@ -9,7 +9,7 @@
 #define __ASM_LDT_H
 
 #include <linux/mutex.h>
-#include "asm/host_ldt.h"
+#include <sysdep/host_ldt.h>
 
 extern void ldt_host_info(void);
 
diff --git a/arch/um/include/asm/host_ldt-i386.h b/arch/um/include/shared/sysdep-i386/host_ldt.h
similarity index 97%
rename from arch/um/include/asm/host_ldt-i386.h
rename to arch/um/include/shared/sysdep-i386/host_ldt.h
index b27cb0a9dd30a016f2f3dee36111454530262991..0953cc4df65284bc61745abb2fdb487935aef03b 100644
--- a/arch/um/include/asm/host_ldt-i386.h
+++ b/arch/um/include/shared/sysdep-i386/host_ldt.h
@@ -1,7 +1,7 @@
 #ifndef __ASM_HOST_LDT_I386_H
 #define __ASM_HOST_LDT_I386_H
 
-#include "asm/arch/ldt.h"
+#include <asm/ldt.h>
 
 /*
  * macros stolen from include/asm-i386/desc.h
diff --git a/arch/um/include/shared/sysdep-i386/tls.h b/arch/um/include/shared/sysdep-i386/tls.h
index 918fd3c5ff9cad3ff4854fb47010386bf20f3bc3..34550755b2a1621939f597f2b86c4bfa77de0551 100644
--- a/arch/um/include/shared/sysdep-i386/tls.h
+++ b/arch/um/include/shared/sysdep-i386/tls.h
@@ -21,7 +21,7 @@ typedef struct um_dup_user_desc {
 
 # else /* __KERNEL__ */
 
-#  include <asm/ldt.h>
+#  include <ldt.h>
 typedef struct user_desc user_desc_t;
 
 # endif /* __KERNEL__ */
diff --git a/arch/um/include/asm/host_ldt-x86_64.h b/arch/um/include/shared/sysdep-x86_64/host_ldt.h
similarity index 97%
rename from arch/um/include/asm/host_ldt-x86_64.h
rename to arch/um/include/shared/sysdep-x86_64/host_ldt.h
index 74a63f7d9a90b10a8c0571ac8c18abff717e4337..e8b1be1e154f44a6437b5b78d1c7fe120784e7e2 100644
--- a/arch/um/include/asm/host_ldt-x86_64.h
+++ b/arch/um/include/shared/sysdep-x86_64/host_ldt.h
@@ -1,7 +1,7 @@
 #ifndef __ASM_HOST_LDT_X86_64_H
 #define __ASM_HOST_LDT_X86_64_H
 
-#include "asm/arch/ldt.h"
+#include <asm/ldt.h>
 
 /*
  * macros stolen from include/asm-x86_64/desc.h
diff --git a/arch/um/include/shared/sysdep-x86_64/tls.h b/arch/um/include/shared/sysdep-x86_64/tls.h
index 35f19f25bd3b749240ba5a7591fb55023cc666a1..18c000d0357a3fb465605cdd881988fff9d28c74 100644
--- a/arch/um/include/shared/sysdep-x86_64/tls.h
+++ b/arch/um/include/shared/sysdep-x86_64/tls.h
@@ -22,7 +22,7 @@ typedef struct um_dup_user_desc {
 
 # else /* __KERNEL__ */
 
-#  include <asm/ldt.h>
+#  include <ldt.h>
 typedef struct user_desc user_desc_t;
 
 # endif /* __KERNEL__ */
diff --git a/arch/um/include/shared/um_mmu.h b/arch/um/include/shared/um_mmu.h
index f575ff91f2a01796951c90090542b18344e6998b..4cc1ef4d022b17736a0a224a909ef64e75b08d88 100644
--- a/arch/um/include/shared/um_mmu.h
+++ b/arch/um/include/shared/um_mmu.h
@@ -8,7 +8,7 @@
 
 #include "uml-config.h"
 #include "mm_id.h"
-#include "asm/ldt.h"
+#include "ldt.h"
 
 typedef struct mm_context {
 	struct mm_id id;