diff --git a/lib/micropython/meson.build b/lib/micropython/meson.build
index bca808fa4a12af50c0a2a12396b99ec692910205..c6a16cca2dd45642e4a01852a6bce9066a01b7f0 100644
--- a/lib/micropython/meson.build
+++ b/lib/micropython/meson.build
@@ -24,6 +24,10 @@ micropython_includes = include_directories(
   './micropython/extmod/',
 )
 
+micropython_mod_sources = files(
+  'micropython/py/modarray.c',
+)
+
 micropython_sources = files(
   'micropython/py/argcheck.c',
   'micropython/py/asmarm.c', 'micropython/py/asmbase.c',
diff --git a/pycardium/meson.build b/pycardium/meson.build
index 956f5bd59bb312489df07990c9cdb3f631ebec2d..0c839aaaa8b9fc783feb3ba37dea424632dd144c 100644
--- a/pycardium/meson.build
+++ b/pycardium/meson.build
@@ -18,7 +18,7 @@ version_h = custom_target(
 modules_h = custom_target(
   'moduledefs.h',
   output: 'moduledefs.h',
-  input: [micropython_sources, modsrc],
+  input: [micropython_mod_sources, modsrc],
   command: [micropython_gen_modules, '@OUTPUT@', '@INPUT@'],
 )
 
@@ -30,7 +30,7 @@ qstr_h = custom_target(
     'mpconfigport.h',
     micropython_sources,
   ],
-  depends: [modules_h, version_h],
+  depends: [version_h],
   command: [micropython_gen_qstr, meson.current_source_dir(), '@OUTPUT@', '@INPUT@'],
 )