diff --git a/.github/workflows/windows_test.yml b/.github/workflows/windows_test.yml
index b9e993ac5..b1f9623c5 100644
--- a/.github/workflows/windows_test.yml
+++ b/.github/workflows/windows_test.yml
@@ -33,6 +33,7 @@ jobs:
mingw-w64-ucrt-x86_64-doctest
mingw-w64-ucrt-x86_64-ffmpeg
mingw-w64-ucrt-x86_64-libunistring
+ mingw-w64-ucrt-x86_64-ncurses
mingw-w64-ucrt-x86_64-rust
mingw-w64-ucrt-x86_64-toolchain
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cfaf6721d..976c15d6c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,7 +103,6 @@ if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
endif()
# some distros (motherfucking alpine subsume terminfo directly
# into ncurses. accept either, and may god have mercy on our souls.
-if(NOT WIN32)
pkg_search_module(TERMINFO REQUIRED tinfo>=6.1 ncursesw>=6.1)
set_property(GLOBAL APPEND PROPERTY PACKAGES_FOUND terminfo)
set_package_properties(terminfo PROPERTIES TYPE REQUIRED)
diff --git a/src/lib/internal.h b/src/lib/internal.h
index 81486cd1c..bd1ed1f38 100644
--- a/src/lib/internal.h
+++ b/src/lib/internal.h
@@ -12,6 +12,8 @@ extern "C" {
#include
#include
#include
+#include
+#include // needed for some definitions, see terminfo(3ncurses)
#include
#include
#include