diff --git a/preload/menu.py b/preload/menu.py
index 1fe2b532eb1e2c2572ac8aeb03511cc7b3224c88..7a9ad11b9105a9f79564895d478b60c5fa067903 100644
--- a/preload/menu.py
+++ b/preload/menu.py
@@ -55,8 +55,15 @@ def enumerate_apps(apps=None):
                 info["name"], "/apps/{}/{}".format(app, info.get("bin", "__init__.py"))
             )
         except Exception as e:
-            print("Could not load /apps/{}/metadata.json!".format(app))
+            print("'{}': metadata.json is invalid ... hoping for the best.".format(app))
             sys.print_exception(e)
+            pyfile = "/apps/{}/__init__.py".format(app)
+            try:
+                open(pyfile).close()
+                yield App(app, pyfile)
+            except OSError:
+                print(pyfile, "does not even exist :(")
+                pass
 
 
 def usb_mode(disp):