diff --git a/meson.build b/meson.build
index df03749f86de6267ca6be3288307e8d441a48776..7abdfa4492b3b7623d46f8e7e8ba43015c5a9b0e 100644
--- a/meson.build
+++ b/meson.build
@@ -50,13 +50,10 @@ cxx = meson.get_compiler('cpp')
 cc = meson.get_compiler('c')
 deps += cc.find_library('m', required: false)
 deps += cc.find_library('dl', required: false)
-iconv_dep = cc.find_library('iconv', required: false)
-if not iconv_dep.found() and host_machine.system() == 'windows'
+if not cxx.check_header('iconv.h')
     iconv_sp = subproject('iconv') # this really needs to be replaced with a proper port
-    deps_inc += iconv_sp.get_variable('iconv_incs')
-    iconv_dep = iconv_sp.get_variable('libiconv_dep')
+    deps += iconv_sp.get_variable('libiconv_dep')
 endif
-deps += iconv_dep
 
 deps += dependency('libass', version: '>=0.9.7',
                    fallback: ['libass', 'libass_dep'])