diff --git a/esp8266/modules/_boot.py b/esp8266/modules/_boot.py
index c950de6758baea4a4282b3105ef33bac2ffc5a36..2cacb567609c14ab11a8c1670400e98959edcb3d 100644
--- a/esp8266/modules/_boot.py
+++ b/esp8266/modules/_boot.py
@@ -1,3 +1,4 @@
+import gc
 import uos
 from flashbdev import bdev
 
@@ -7,3 +8,5 @@ try:
 except OSError:
     import inisetup
     vfs = inisetup.setup()
+
+gc.collect()
diff --git a/esp8266/scripts/inisetup.py b/esp8266/scripts/inisetup.py
index 461690b16285540a0083d8e7cec9ac7b58c05eb0..7d8f6fa0a8bd34c2ff85e1d16a625f1421de5b96 100644
--- a/esp8266/scripts/inisetup.py
+++ b/esp8266/scripts/inisetup.py
@@ -40,7 +40,9 @@ def setup():
     with open("/boot.py", "w") as f:
         f.write("""\
 # This file is executed on every boot (including wake-boot from deepsleep)
+import gc
 #import webrepl
 #webrepl.start()
+gc.collect()
 """)
     return vfs