diff --git a/CMakeLists.txt b/CMakeLists.txt
index 303f905e4..6bdbc5ac4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -603,24 +603,19 @@ target_optional_compile_definitions(torrent-rasterbar PUBLIC FEATURE NAME mutabl
 target_optional_compile_definitions(torrent-rasterbar PUBLIC FEATURE NAME streaming DEFAULT ON
 	DESCRIPTION "Enables support for piece deadline" DISABLED TORRENT_DISABLE_STREAMING)
 
-find_public_dependency(Iconv)
-if(MSVC)
-	set(iconv_package_type OPTIONAL)
-else()
-	set(iconv_package_type RECOMMENDED)
-endif()
+find_public_dependency(unofficial-iconv REQUIRED)
 
-set_package_properties(Iconv
+set_package_properties(unofficial-iconv
 	PROPERTIES
 		URL "https://www.gnu.org/software/libiconv/"
-		DESCRIPTION "GNU encoding conversion library"
-		TYPE ${iconv_package_type}
+		DESCRIPTION "GNU encoding conversion library (unofficial vcpkg CMake port)"
+		TYPE REQUIRED
 		PURPOSE "Convert strings between various encodings"
 )
 
-if(Iconv_FOUND)
+if(unofficial-iconv_FOUND)
 	target_compile_definitions(torrent-rasterbar PUBLIC TORRENT_USE_ICONV)
-	target_link_libraries(torrent-rasterbar PRIVATE Iconv::Iconv)
+	target_link_libraries(torrent-rasterbar PRIVATE unofficial::iconv::libiconv unofficial::iconv::libcharset)
 endif()
 
 find_public_dependency(OpenSSL)
