diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c
index 24f86a9e5162404506dba923daea735e29243d22..19a58f259eeed03c5849c246dcc3e514a23b2d35 100644
--- a/dlls/kernel32/console.c
+++ b/dlls/kernel32/console.c
@@ -68,18 +68,6 @@ HWND WINAPI GetConsoleWindow(void)
 }
 
 
-/***********************************************************************
- *           Beep   (KERNEL32.@)
- */
-BOOL WINAPI Beep( DWORD dwFreq, DWORD dwDur )
-{
-    /* FIXME: we should not require a console to be attached */
-    DeviceIoControl( RtlGetCurrentPeb()->ProcessParameters->ConsoleHandle,
-                     IOCTL_CONDRV_BEEP, NULL, 0, NULL, 0, NULL, NULL );
-    return TRUE;
-}
-
-
 /******************************************************************
  *		OpenConsoleW            (KERNEL32.@)
  *
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 33767cd44739d005b9a39ffdc288ee8eec738a12..4b09f359b97d10dd74e59f6dfcf856bf9db4dcfa 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -195,7 +195,7 @@
 # @ stub BasepFreeActivationContextActivationBlock
 # @ stub BasepFreeAppCompatData
 # @ stub BasepMapModuleHandle
-@ stdcall Beep(long long)
+@ stdcall -import Beep(long long)
 @ stdcall BeginUpdateResourceA(str long)
 @ stdcall BeginUpdateResourceW(wstr long)
 @ stdcall BindIoCompletionCallback(long ptr long)
diff --git a/dlls/kernelbase/console.c b/dlls/kernelbase/console.c
index cc9d88acf4f437b8042b381a72dad988ad9eb368..ce041020a36eff7432cccaa853e11e9e127c1933 100644
--- a/dlls/kernelbase/console.c
+++ b/dlls/kernelbase/console.c
@@ -1658,6 +1658,19 @@ BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleOutputCharacterW( HANDLE handle, LPCWS
     return ret;
 }
 
+
+/***********************************************************************
+ *           Beep   (kernelbase.@)
+ */
+BOOL WINAPI Beep( DWORD frequency, DWORD duration )
+{
+    /* FIXME: we should not require a console to be attached */
+    console_ioctl( RtlGetCurrentPeb()->ProcessParameters->ConsoleHandle,
+                   IOCTL_CONDRV_BEEP, NULL, 0, NULL, 0, NULL );
+    return TRUE;
+}
+
+
 static HANDLE create_pseudo_console( COORD size, HANDLE input, HANDLE output, HANDLE signal,
                                      DWORD flags, HANDLE *process )
 {
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index dd74e9d6e9e12ef67bd21c1d3d2f88355323135e..1ba1c52b21a648aa7fc8995db9916f4834422688 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -93,7 +93,7 @@
 # @ stub BasepCopyFileCallback
 # @ stub BasepCopyFileExW
 # @ stub BasepNotifyTrackingService
-@ stdcall Beep(long long) kernel32.Beep
+@ stdcall Beep(long long)
 @ stub BemCopyReference
 @ stub BemCreateContractFrom
 @ stub BemCreateReference