diff --git a/py/builtinimport.c b/py/builtinimport.c
index 262ee04a5369630fd98ef4a55a8dd47c588651ad..4a2f6510c3a88563de7e30f59ee3d9cd68272e9c 100644
--- a/py/builtinimport.c
+++ b/py/builtinimport.c
@@ -3,6 +3,10 @@
 #include <stdio.h>
 #include <string.h>
 #include <assert.h>
+#ifdef __MINGW32__
+// For alloca()
+#include <malloc.h>
+#endif
 
 #include "nlr.h"
 #include "misc.h"
diff --git a/py/objfun.c b/py/objfun.c
index c7144f30788f0b8a41b2a63bc5dba040cd020642..940b64a66e79281134576b880b91d8f641c2e672 100644
--- a/py/objfun.c
+++ b/py/objfun.c
@@ -2,6 +2,10 @@
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
+#ifdef __MINGW32__
+// For alloca()
+#include <malloc.h>
+#endif
 
 #include "nlr.h"
 #include "misc.h"