I have for years avoided using acad cuix etc always a custom mnu, as I said for toolbars start with a mnu not a cui then can simply use menuload to load the custom menu.
As I started coding when cui's di not exist hence used mnu. So I am saying keep your custom menu. Also when you upgrade your custom menu is ready to go.
Make a copy of your cuix and rename to .zip then have a look inside you will see toolbar definitions. You can its a bit of effort remake a mnu. The mnu is a text file so use notepad etc.
***MENUGROUP=CONTOURS
***TOOLBARS
**ALANSCONT
ID_ALAN_C [_Toolbar("Alans1", _Left, _Show, 0, 0, 1)]
Alloff [_Button("All Off","Alloff.BMP","alloff.BMP")]^c^c^c(setq surface "_COGG All Off")(load "vercheck")(load "listselect")(load "changecontours6")
50mm [_Button("50mm cont","50mm.bmp","50mm.bmp")]^c^c^c(setq surface "NS 0.05 Contours")(load "vercheck")(load "listselect")(load "changecontours6")
100mm [_Button("100mm cont","100mm.BMP","100mm.BMP")]^c^c^c(setq surface "NS 0.1 Contours")(load "vercheck")(load "listselect")(load "changecontours6")
200mm [_Button("200mm cont","200mm.BMP","200mm.BMP")]^c^c^c(setq surface "NS 0.2 Contours")(load "vercheck")(load "listselect")(load "changecontours6")
500mm [_Button("0.50m cont","500mm.BMP","500mm.BMP")]^c^c^c(setq surface "NS 0.5m Contours")(load "vercheck")(load "listselect")(load "changecontours6")
1m [_Button("1m cont","1m.BMP","1m.BMP")]^c^c^c(setq surface "NS 1m Contours" )(load "vercheck")(load "listselect")(load "changecontours6")
Triangles [_Button("Triangles","TRI.BMP","TRI.BMP")]^c^c^c(setq surface "NS Triangles" )(load "vercheck")(load "listselect")(load "changecontours6")
Slope [_Button("Slope","SLOPE.BMP","SLOPE.bmp")]^c^c^c(setq surface "Slope Arrows & Catchments" )(if (not AH:Vercheck)(load "vercheck"))(if (not AT:ListSelect)(load "listselect"))(if (not AH:Changecont)(load "changecontours6"))