diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 1bc32e5ef24c388b2a68aff2b67e3fbff5c7c3ee..ee7fca56061e4961886eecdfed82551f1fdb0b3d 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -518,7 +518,7 @@
 @ stdcall FlushConsoleInputBuffer(long)
 @ stdcall FlushFileBuffers(long) KERNEL32_FlushFileBuffers
 @ stdcall -import FlushInstructionCache(long long long)
-@ stdcall FlushProcessWriteBuffers()
+@ stdcall FlushProcessWriteBuffers() ntdll.NtFlushProcessWriteBuffers
 @ stdcall -import FlushViewOfFile(ptr long)
 @ stdcall FoldStringA(long str long ptr long)
 @ stdcall -import FoldStringW(long wstr long ptr long)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 5146622230dc54f8ca24216f1552954038a5e165..1256d405883b3eb1a2aa492e10ab8ec6569f6963 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -992,17 +992,6 @@ BOOL WINAPI GetProcessDEPPolicy(HANDLE process, LPDWORD flags, PBOOL permanent)
     return TRUE;
 }
 
-/**********************************************************************
- *           FlushProcessWriteBuffers     (KERNEL32.@)
- */
-VOID WINAPI FlushProcessWriteBuffers(void)
-{
-    static int once = 0;
-
-    if (!once++)
-        FIXME(": stub\n");
-}
-
 /***********************************************************************
  *           UnregisterApplicationRestart       (KERNEL32.@)
  */
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index 7b02838298ec0cd4bf8ee1a64f42eae6546060dc..5f9eb9fdced310cfe6c477c38c6fdfc05f72eca8 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -382,7 +382,7 @@
 @ stdcall FlushConsoleInputBuffer(long) kernel32.FlushConsoleInputBuffer
 @ stdcall FlushFileBuffers(long)
 @ stdcall FlushInstructionCache(long long long)
-@ stdcall FlushProcessWriteBuffers() kernel32.FlushProcessWriteBuffers
+@ stdcall FlushProcessWriteBuffers() ntdll.NtFlushProcessWriteBuffers
 @ stdcall FlushViewOfFile(ptr long)
 @ stdcall FoldStringW(long wstr long ptr long)
 # @ stub ForceSyncFgPolicyInternal
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index cb6a8ec8c4f4bafdae9605f82ad7f1ba466da069..b2e467c70c09fb253cf6ac29bf86664a48c3293d 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -212,6 +212,7 @@
 @ stdcall NtFlushBuffersFile(long ptr)
 @ stdcall NtFlushInstructionCache(long ptr long)
 @ stdcall NtFlushKey(long)
+@ stdcall NtFlushProcessWriteBuffers()
 @ stdcall NtFlushVirtualMemory(long ptr ptr long)
 @ stub NtFlushWriteBuffer
 # @ stub NtFreeUserPhysicalPages
diff --git a/dlls/ntdll/process.c b/dlls/ntdll/process.c
index e59c255e327536a5b9eba6f1e3e8113906285f00..6c5f722b2a6ce479e20a566e20ec0e5a83f3855a 100644
--- a/dlls/ntdll/process.c
+++ b/dlls/ntdll/process.c
@@ -737,6 +737,15 @@ NTSTATUS WINAPI NtFlushInstructionCache( HANDLE handle, const void *addr, SIZE_T
     return STATUS_SUCCESS;
 }
 
+/**********************************************************************
+ * NtFlushProcessWriteBuffers [NTDLL.@]
+ */
+void WINAPI NtFlushProcessWriteBuffers(void)
+{
+    static int once = 0;
+    if (!once++) FIXME( "stub\n" );
+}
+
 /******************************************************************
  *		NtOpenProcess [NTDLL.@]
  *		ZwOpenProcess [NTDLL.@]