diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 1c26fb388ed79995b941a11e91b383c567433e9e..f7145ddd8f861b19b6d2d9efbf2fcd4026bc9553 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -27,7 +27,7 @@ KernelObjectPool::KernelObjectPool() {
     next_id = INITIAL_NEXT_ID;
 }
 
-UID KernelObjectPool::Create(KernelObject *obj, int range_bottom, int range_top) {
+Handle KernelObjectPool::Create(KernelObject *obj, int range_bottom, int range_top) {
     if (range_top > MAX_COUNT) {
         range_top = MAX_COUNT;
     }
@@ -38,7 +38,7 @@ UID KernelObjectPool::Create(KernelObject *obj, int range_bottom, int range_top)
         if (!occupied[i]) {
             occupied[i] = true;
             pool[i] = obj;
-            pool[i]->uid = i + HANDLE_OFFSET;
+            pool[i]->handle = i + HANDLE_OFFSET;
             return i + HANDLE_OFFSET;
         }
     }
@@ -46,7 +46,7 @@ UID KernelObjectPool::Create(KernelObject *obj, int range_bottom, int range_top)
     return 0;
 }
 
-bool KernelObjectPool::IsValid(UID handle)
+bool KernelObjectPool::IsValid(Handle handle)
 {
     int index = handle - HANDLE_OFFSET;
     if (index < 0)
@@ -70,7 +70,7 @@ void KernelObjectPool::Clear()
     next_id = INITIAL_NEXT_ID;
 }
 
-KernelObject *&KernelObjectPool::operator [](UID handle)
+KernelObject *&KernelObjectPool::operator [](Handle handle)
 {
     _dbg_assert_msg_(KERNEL, IsValid(handle), "GRABBING UNALLOCED KERNEL OBJ");
     return pool[handle - HANDLE_OFFSET];
@@ -148,7 +148,7 @@ bool __KernelLoadExec(u32 entry_point) {
     Core::g_app_core->SetPC(entry_point);
 
     // 0x30 is the typical main thread priority I've seen used so far
-    UID thread_id = __KernelSetupRootThread(0xDEADBEEF, 0, 0x30);
+    Handle thread_id = __KernelSetupMainThread(0x30);
 
     return true;
 }
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 0eb58210ccbdce8fc5e7fb9cf8b88a370f27de5b..24d422682ee5af027bd7ff04fccc4bc4ef07bd49 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -6,7 +6,7 @@
 
 #include "common/common_types.h"
 
-typedef u32 UID;
+typedef s32 Handle;
 
 enum KernelIDType {
     KERNEL_ID_TYPE_THREAD       = 1,
@@ -15,20 +15,23 @@ enum KernelIDType {
     KERNEL_ID_TYPE_EVENT        = 4,
 };
 
+enum {
+    KERNELOBJECT_MAX_NAME_LENGTH = 255,
+};
+
 #define KERNELOBJECT_MAX_NAME_LENGTH 31
 
 class KernelObjectPool;
 
 class KernelObject {
     friend class KernelObjectPool;
-    u32 uid;
+    u32 handle;
 public:
     virtual ~KernelObject() {}
-    UID GetUID() const { return uid; }
+    Handle GetHandle() const { return handle; }
     virtual const char *GetTypeName() { return "[BAD KERNEL OBJECT TYPE]"; }
     virtual const char *GetName() { return "[UNKNOWN KERNEL OBJECT]"; }
     virtual KernelIDType GetIDType() const = 0;
-    //virtual void GetQuickInfo(char *ptr, int size);
 };
 
 class KernelObjectPool {
@@ -36,13 +39,13 @@ public:
     KernelObjectPool();
     ~KernelObjectPool() {}
 
-    // Allocates a UID within the range and inserts the object into the map.
-    UID Create(KernelObject *obj, int range_bottom=INITIAL_NEXT_ID, int range_top=0x7FFFFFFF);
+    // Allocates a handle within the range and inserts the object into the map.
+    Handle Create(KernelObject *obj, int range_bottom=INITIAL_NEXT_ID, int range_top=0x7FFFFFFF);
 
     static KernelObject *CreateByIDType(int type);
 
     template <class T>
-    u32 Destroy(UID handle) {
+    u32 Destroy(Handle handle) {
         u32 error;
         if (Get<T>(handle, error)) {
             occupied[handle - HANDLE_OFFSET] = false;
@@ -51,10 +54,10 @@ public:
         return error;
     };
 
-    bool IsValid(UID handle);
+    bool IsValid(Handle handle);
 
     template <class T>
-    T* Get(UID handle, u32& outError) {
+    T* Get(Handle handle, u32& outError) {
         if (handle < HANDLE_OFFSET || handle >= HANDLE_OFFSET + MAX_COUNT || !occupied[handle - HANDLE_OFFSET]) {
             // Tekken 6 spams 0x80020001 gets wrong with no ill effects, also on the real PSP
             if (handle != 0 && (u32)handle != 0x80020001) {
@@ -79,8 +82,8 @@ public:
 
     // ONLY use this when you know the handle is valid.
     template <class T>
-    T *GetFast(UID handle) {
-        const UID realHandle = handle - HANDLE_OFFSET;
+    T *GetFast(Handle handle) {
+        const Handle realHandle = handle - HANDLE_OFFSET;
         _dbg_assert_(KERNEL, realHandle >= 0 && realHandle < MAX_COUNT && occupied[realHandle]);
         return static_cast<T *>(pool[realHandle]);
     }
@@ -100,7 +103,7 @@ public:
         }
     }
 
-    bool GetIDType(UID handle, int *type) const {
+    bool GetIDType(Handle handle, int *type) const {
         if ((handle < HANDLE_OFFSET) || (handle >= HANDLE_OFFSET + MAX_COUNT) || 
             !occupied[handle - HANDLE_OFFSET]) {
             ERROR_LOG(KERNEL, "Kernel: Bad object handle %i (%08x)", handle, handle);
@@ -111,7 +114,7 @@ public:
         return true;
     }
 
-    KernelObject *&operator [](UID handle);
+    KernelObject *&operator [](Handle handle);
     void List();
     void Clear();
     int GetCount();