diff --git a/src/common/common_types.h b/src/common/common_types.h
index 5c004c5fa..644709ba6 100644
--- a/src/common/common_types.h
+++ b/src/common/common_types.h
@@ -47,6 +47,11 @@ typedef std::int64_t s64; ///< 64-bit signed int
 typedef float   f32; ///< 32-bit floating point
 typedef double  f64; ///< 64-bit floating point
 
+// TODO: It would be nice to eventually replace these with strong types that prevent accidental
+// conversion between each other.
+typedef u32 VAddr; ///< Represents a pointer in the userspace virtual address space.
+typedef u32 PAddr; ///< Represents a pointer in the ARM11 physical address space.
+
 /// Union for fast 16-bit type casting
 union t16 {
     u8  _u8[2];             ///< 8-bit unsigned char(s)
diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h
index 23de1aab7..e0b97797c 100644
--- a/src/core/hle/hle.h
+++ b/src/core/hle/hle.h
@@ -4,6 +4,13 @@
 
 #pragma once
 
+#include "common/common_types.h"
+
+typedef u32 Handle;
+typedef s32 Result;
+
+const Handle INVALID_HANDLE = 0;
+
 namespace HLE {
 
 extern bool g_reschedule;   ///< If true, immediately reschedules the CPU to a new thread
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index ab06fa025..80a09cadc 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -11,18 +11,9 @@
 #include <vector>
 
 #include "common/common.h"
+#include "core/hle/hle.h"
 #include "core/hle/result.h"
 
-typedef u32 Handle;
-typedef s32 Result;
-
-// TODO: It would be nice to eventually replace these with strong types that prevent accidental
-// conversion between each other.
-typedef u32 VAddr; ///< Represents a pointer in the userspace virtual address space.
-typedef u32 PAddr; ///< Represents a pointer in the ARM11 physical address space.
-
-const Handle INVALID_HANDLE = 0;
-
 namespace Kernel {
 
 class Thread;