diff --git a/preload/menu.py b/preload/menu.py
index e0a84a84169f6a0da3f1e64d6a4aa9eb3a4f8ee4..5587d059769a71a378585ef4f86c6e1cd39102f6 100644
--- a/preload/menu.py
+++ b/preload/menu.py
@@ -37,7 +37,7 @@ def read_metadata(app_folder):
         return {
             "author": "",
             "name": app_folder,
-            "descriptionr": "",
+            "description": "",
             "category": "",
             "revision": 0,
         }
@@ -71,7 +71,12 @@ def list_apps():
     # with or without metadata.json
     for appFolder in dirlist:
         if not (appFolder.endswith(".py") or appFolder.endswith(".elf")):
-            apps.append(["/apps/%s/__init__.py" % appFolder, read_metadata(appFolder)])
+            metadata = read_metadata(appFolder)
+            if not metadata.get("bin", None):
+                fileName = "/apps/%s/__init__.py" % appFolder
+            else:
+                fileName = "/apps/%s/%s" % (appFolder, metadata["bin"])
+            apps.append([fileName, metadata])
 
     # list simple python scripts
     for pyFile in dirlist: