diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c
index 6d429f095f5ad706341c9d44bc2b232218725943..4410a31badbc7108bcffa30f499c044dd770f3ed 100644
--- a/dlls/kernel32/console.c
+++ b/dlls/kernel32/console.c
@@ -160,7 +160,8 @@ static int  get_console_bare_fd(HANDLE hin)
 {
     int         fd;
 
-    if (wine_server_handle_to_fd(wine_server_ptr_handle(console_handle_unmap(hin)),
+    if (is_console_handle(hin) &&
+        wine_server_handle_to_fd(wine_server_ptr_handle(console_handle_unmap(hin)),
                                  0, &fd, NULL) == STATUS_SUCCESS)
         return fd;
     return -1;