diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index b0597db385927767b28d6e34ccbc92ee6ab04b3a..e006502da51d9f510b9ea23228b50ec286235335 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -33,7 +33,7 @@ set(SRCS    core.cpp
             hle/hle.cpp
             hle/config_mem.cpp
             hle/coprocessor.cpp
-            hle/syscall.cpp
+            hle/svc.cpp
             hle/kernel/kernel.cpp
             hle/kernel/thread.cpp
             hle/service/apt.cpp
diff --git a/src/core/core.vcxproj b/src/core/core.vcxproj
index f077154ee1b197124307d4f5df5567104e6138ed..6eb58a636cbcb41380428b2b8cb7164d5162c2fc 100644
--- a/src/core/core.vcxproj
+++ b/src/core/core.vcxproj
@@ -175,7 +175,7 @@
     <ClCompile Include="hle\service\hid.cpp" />
     <ClCompile Include="hle\service\service.cpp" />
     <ClCompile Include="hle\service\srv.cpp" />
-    <ClCompile Include="hle\syscall.cpp" />
+    <ClCompile Include="hle\svc.cpp" />
     <ClCompile Include="hw\hw.cpp" />
     <ClCompile Include="hw\lcd.cpp" />
     <ClCompile Include="hw\ndma.cpp" />
@@ -223,7 +223,7 @@
     <ClInclude Include="hle\service\hid.h" />
     <ClInclude Include="hle\service\service.h" />
     <ClInclude Include="hle\service\srv.h" />
-    <ClInclude Include="hle\syscall.h" />
+    <ClInclude Include="hle\svc.h" />
     <ClInclude Include="hw\hw.h" />
     <ClInclude Include="hw\lcd.h" />
     <ClInclude Include="hw\ndma.h" />
diff --git a/src/core/core.vcxproj.filters b/src/core/core.vcxproj.filters
index 6aedeb54b004e7cc56e110ced35c0374c2507c60..fc4e35edb0682136b5db67c9c3bebcea69b93a0c 100644
--- a/src/core/core.vcxproj.filters
+++ b/src/core/core.vcxproj.filters
@@ -84,9 +84,6 @@
     <ClCompile Include="hle\hle.cpp">
       <Filter>hle</Filter>
     </ClCompile>
-    <ClCompile Include="hle\syscall.cpp">
-      <Filter>hle</Filter>
-    </ClCompile>
     <ClCompile Include="hle\service\service.cpp">
       <Filter>hle\service</Filter>
     </ClCompile>
@@ -162,6 +159,9 @@
     <ClCompile Include="hle\kernel\thread.cpp">
       <Filter>hle\kernel</Filter>
     </ClCompile>
+    <ClCompile Include="hle\svc.cpp">
+      <Filter>hle</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="arm\disassembler\arm_disasm.h">
@@ -226,9 +226,6 @@
     <ClInclude Include="hle\service\service.h">
       <Filter>hle\service</Filter>
     </ClInclude>
-    <ClInclude Include="hle\syscall.h">
-      <Filter>hle</Filter>
-    </ClInclude>
     <ClInclude Include="hle\service\apt.h">
       <Filter>hle\service</Filter>
     </ClInclude>
@@ -289,6 +286,9 @@
     <ClInclude Include="hle\kernel\thread.h">
       <Filter>hle\kernel</Filter>
     </ClInclude>
+    <ClInclude Include="hle\svc.h">
+      <Filter>hle</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <Text Include="CMakeLists.txt" />
diff --git a/src/core/hle/hle.cpp b/src/core/hle/hle.cpp
index 4523845711527efd8d1f70adf858b575915d3a59..080c36abf47fc1b3485243a89c5b8b4f7d754197 100644
--- a/src/core/hle/hle.cpp
+++ b/src/core/hle/hle.cpp
@@ -6,7 +6,7 @@
 
 #include "core/mem_map.h"
 #include "core/hle/hle.h"
-#include "core/hle/syscall.h"
+#include "core/hle/svc.h"
 #include "core/hle/service/service.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -15,17 +15,17 @@ namespace HLE {
 
 static std::vector<ModuleDef> g_module_db;
 
-const FunctionDef* GetSyscallInfo(u32 opcode) {
+const FunctionDef* GetSVCInfo(u32 opcode) {
     u32 func_num = opcode & 0xFFFFFF; // 8 bits
     if (func_num > 0xFF) {
-        ERROR_LOG(HLE,"Unknown syscall: 0x%02X", func_num); 
+        ERROR_LOG(HLE,"Unknown SVC: 0x%02X", func_num); 
         return NULL;
     }
     return &g_module_db[0].func_table[func_num];
 }
 
-void CallSyscall(u32 opcode) {
-    const FunctionDef *info = GetSyscallInfo(opcode);
+void CallSVC(u32 opcode) {
+    const FunctionDef *info = GetSVCInfo(opcode);
 
     if (!info) {
         return;
@@ -33,7 +33,7 @@ void CallSyscall(u32 opcode) {
     if (info->func) {
         info->func();
     } else {
-        ERROR_LOG(HLE, "Unimplemented SysCall function %s(..)", info->name.c_str());
+        ERROR_LOG(HLE, "Unimplemented SVC function %s(..)", info->name.c_str());
     }
 }
 
@@ -54,7 +54,7 @@ void RegisterModule(std::string name, int num_functions, const FunctionDef* func
 }
 
 void RegisterAllModules() {
-    Syscall::Register();
+    SVC::Register();
 }
 
 void Init() {
diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h
index 452546e1f8ceb65323424959f6946cf09b32e13c..c075147c39e8b13d67b4de6917d1040b46a2f846 100644
--- a/src/core/hle/hle.h
+++ b/src/core/hle/hle.h
@@ -34,7 +34,7 @@ struct ModuleDef {
 
 void RegisterModule(std::string name, int num_functions, const FunctionDef *func_table);
 
-void CallSyscall(u32 opcode);
+void CallSVC(u32 opcode);
 
 void EatCycles(u32 cycles);
 
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index cfc5327a3e0d704045591d478e0de68d976e471d..136fff02114f740c02626707487e4fd4a544d2a7 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -15,7 +15,7 @@
 #include "core/core.h"
 #include "core/mem_map.h"
 #include "core/hle/hle.h"
-#include "core/hle/syscall.h"
+#include "core/hle/svc.h"
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/thread.h"
 
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h
index f334dbcb8ed90adbb8d69770c675686eaf5659bf..eba730efb96b1ffc54a932a5234940552604c737 100644
--- a/src/core/hle/service/service.h
+++ b/src/core/hle/service/service.h
@@ -14,7 +14,7 @@
 #include "core/mem_map.h"
 
 #include "core/hle/kernel/kernel.h"
-#include "core/hle/syscall.h"
+#include "core/hle/svc.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 // Namespace Service
diff --git a/src/core/hle/syscall.cpp b/src/core/hle/svc.cpp
similarity index 98%
rename from src/core/hle/syscall.cpp
rename to src/core/hle/svc.cpp
index 9a12352468c1da7252328e512f94f84d2164532a..a9141699c8345e4318d50ea5a6ac472601631e2a 100644
--- a/src/core/hle/syscall.cpp
+++ b/src/core/hle/svc.cpp
@@ -13,14 +13,14 @@
 #include "core/hle/kernel/thread.h"
 
 #include "core/hle/function_wrappers.h"
-#include "core/hle/syscall.h"
+#include "core/hle/svc.h"
 #include "core/hle/service/service.h"
 #include "core/hle/kernel/thread.h"
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
-// Namespace Syscall
+// Namespace SVC
 
-namespace Syscall {
+namespace SVC {
 
 enum ControlMemoryOperation {
     MEMORY_OPERATION_HEAP       = 0x00000003,
@@ -123,6 +123,8 @@ Result WaitSynchronizationN(void* _out, void* _handles, u32 handle_count, u32 wa
     for (u32 i = 0; i < handle_count; i++) {
         DEBUG_LOG(SVC, "\thandle[%d]=0x%08X", i, handles[i]);
     }
+    __KernelReschedule("WaitSynchronizationN");
+
     return 0;
 }
 
@@ -212,7 +214,7 @@ Result CreateEvent(void* _event, u32 reset_type) {
     return 0;
 }
 
-const HLE::FunctionDef Syscall_Table[] = {
+const HLE::FunctionDef SVC_Table[] = {
     {0x00,  NULL,                                       "Unknown"},
     {0x01,  WrapI_VUUUUU<ControlMemory>,                "ControlMemory"},
     {0x02,  WrapI_VVU<QueryMemory>,                     "QueryMemory"},
@@ -342,7 +344,7 @@ const HLE::FunctionDef Syscall_Table[] = {
 };
 
 void Register() {
-    HLE::RegisterModule("SyscallTable", ARRAY_SIZE(Syscall_Table), Syscall_Table);
+    HLE::RegisterModule("SVC_Table", ARRAY_SIZE(SVC_Table), SVC_Table);
 }
 
 } // namespace
diff --git a/src/core/hle/syscall.h b/src/core/hle/svc.h
similarity index 95%
rename from src/core/hle/syscall.h
rename to src/core/hle/svc.h
index 3da349ed5fadc7c11b76b43a961cee794a8153c5..5c35977d13dae4ec1b266a2dedbadd23451af268 100644
--- a/src/core/hle/syscall.h
+++ b/src/core/hle/svc.h
@@ -39,9 +39,9 @@ enum ResetType {
 };
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
-// Namespace Syscall
+// Namespace SVC
 
-namespace Syscall {
+namespace SVC {
 
 void Register();