diff --git a/relay32/kernel32.spec b/relay32/kernel32.spec
index 0dd85ab1090992d7f1be6a15ef0692447504e955..0df6d3aed24d34e2991e226e9127da4548d6e83e 100644
--- a/relay32/kernel32.spec
+++ b/relay32/kernel32.spec
@@ -719,7 +719,7 @@ init	MAIN_KernelInit
 700 stdcall UnMapLS(long) UnMapLS
 701 register UnMapSLFixArray() UnMapSLFixArray
 702 stdcall UnhandledExceptionFilter(ptr) UnhandledExceptionFilter
-703 stub UninitializeCriticalSection
+703 stdcall UninitializeCriticalSection(ptr) UninitializeCriticalSection
 704 stdcall UnlockFile(long long long long long) UnlockFile
 705 stub UnlockFileEx
 706 stdcall UnmapViewOfFile(ptr) UnmapViewOfFile
diff --git a/scheduler/critsection.c b/scheduler/critsection.c
index 28ea1f8293345b86be340279e9ef8651b4c226b0..1fe59436566eb5b8b156932999a7aed92497ae40 100644
--- a/scheduler/critsection.c
+++ b/scheduler/critsection.c
@@ -134,3 +134,13 @@ void WINAPI ReinitializeCriticalSection( CRITICAL_SECTION *crit )
     DeleteCriticalSection( crit );
     InitializeCriticalSection( crit );
 }
+
+
+/***********************************************************************
+ *           UninitializeCriticalSection   (KERNEL32.703)
+ */
+void WINAPI UninitializeCriticalSection( CRITICAL_SECTION *crit )
+{
+    FIXME(win32, "(%p) half a stub\n", crit);
+    DeleteCriticalSection( crit );
+}