diff --git a/exec/xtrnmenucfg.js b/exec/xtrnmenucfg.js
index 9329b925fd5ff107615e799c6f74fad5a19a3b13..21003b399a8234eb332b06e51f0809f76f1d5d2e 100644
--- a/exec/xtrnmenucfg.js
+++ b/exec/xtrnmenucfg.js
@@ -783,11 +783,13 @@ try {
 
         } else if ((selection & MSK_ON) == MSK_DEL) {
             selection &= MSK_OFF;
+            var menus2 = [];
             for (var m in menuconfig.menus) {
-                if (menuconfig.menus[m].id == menus[selection]) {
-                    delete menuconfig.menus[m];
+                if (menuconfig.menus[m].id != menus[selection]) {
+                    menus2.push(menuconfig.menus[m]);
                 }
             }
+            menuconfig.menus = menus2;
             //selection--;
         } else if (((selection & MSK_ON) == MSK_INS) || (selection >= menuconfig.menus.length)) {
             // new menu