This code in ThisWindow.Init can cause the Assertion error, after a random number of times opening the window. It does not matter where I put the UNHIDE, here or in ThisWindow.Open PROCEDURE after Parent.Open or in ThisWindow.TakeWindowEvent PROCEDURE OF EVENT:OpenWindow If I comment out my real estate code i.e. resizing window or creating controls or hiding some controls, it makes no difference. The assertion error can come even after 50 times opening the window with no errors, and sometimes the second or third time the window is opened. ThisWindow.Init PROCEDURE After CLEAR(GlobalRequest) CLEAR(GlobalResponse) SELF.Open(Wind10) HIDE(0) MenuStyleMgr.Init(?MENUBAR1) MenuStyleMgr.SuspendRefresh() MenuStyleMgr.SetThemeColors('AutoNoBar') MenuStyleMgr.SetImageBar(False) MenuStyleMgr.ApplyTheme() UNHIDE(0) The UNHIDE can cause the assertion error. I have only five procedures with a menubar. Each procedure is called from an SDI window, and only gives the error if we START it on a thread. Here is a Window definition. Wind10 WINDOW('..'),AT(,,400,260),FONT('Arial',9,,FONT:regular,CHARSET:DEFAULT),AUTO,CENTER, | ICON('Checkit.ICO'),MAX,STATUS(-1,80,120,45),SYSTEM MENUBAR,USE(?MENUBAR1),#ORDINAL(1) MENU('..File'),USE(?MFiles),#ORDINAL(2) ITEM('.'),USE(?TestAll),#ORDINAL(3) ITEM('Currency'),USE(?Currency),#ORDINAL(4) ITEM('Mark'),USE(?Markers),#ORDINAL(5) ITEM('Town'),USE(?TownCity),#ORDINAL(6) ITEM,USE(?Sep2),SEPARATOR,#ORDINAL(7) ITEM('.'),USE(?EmptyN),#ORDINAL(8) ITEM('.'),USE(?EmptyS),#ORDINAL(9) END ITEM('.'),USE(?PreSet),#ORDINAL(10) ITEM('.'),USE(?BackOrders),HIDE,#ORDINAL(11) MENU('..PC-data'),USE(?PCData),#ORDINAL(12) ITEM('PC data'),USE(?VolInfo),#ORDINAL(13) ITEM('IP='),USE(?IPAddy),#ORDINAL(14) ITEM('.'),USE(?Tester),#ORDINAL(15) ITEM('.'),USE(?Pather),#ORDINAL(16) ITEM('.'),USE(?Memoir),#ORDINAL(17) ITEM('.'),USE(?GetRec),#ORDINAL(18) END MENU('..Windows'),USE(?Windows),#ORDINAL(19) ITEM('Threads'),USE(?Threads),#ORDINAL(20) ITEM('Speed Test'),USE(?SpeedTest),#ORDINAL(21) ITEM('.'),USE(?pTimer),#ORDINAL(22) END ITEM('..'),USE(?Messaging),#ORDINAL(23) MENU('..Help'),USE(?Helper),#ORDINAL(24) ITEM('...'),USE(?LastPrint),#ORDINAL(25) ITEM('About'),USE(?About),#ORDINAL(26) ITEM('Offline Web pages'),USE(?WebPage),#ORDINAL(27) ITEM('See Changes'),USE(?SeeChanges),#ORDINAL(28) ITEM('Notice'),USE(?SeeWelcome),#ORDINAL(29) ITEM('Remote Desktop'),USE(?RDesktop),#ORDINAL(30) ITEM('How to Set Access'),USE(?HowSetAccess),#ORDINAL(31) ITEM('Import Excel'),USE(?ImportExcel),#ORDINAL(32) ITEM('Backup'),USE(?HowBackup),#ORDINAL(33) ITEM('M/F Costing'),USE(?MFcosting),#ORDINAL(34) ITEM('Markup'),USE(?SeeMarkup),#ORDINAL(35) ITEM('Gross profit'),USE(?SeeGrossP),#ORDINAL(36) ITEM('VAT'),USE(?VatDetails),#ORDINAL(37) ITEM('...'),USE(?IconListA),#ORDINAL(38) END ITEM,USE(?BranchUser),#ORDINAL(39) ITEM,USE(?FocusMain),#ORDINAL(40) END REGION,AT(134,63,21,171),USE(?RegWind),HIDE,IMM,#ORDINAL(41) BOX,AT(0,0,400,258),USE(?Wallpap),LINEWIDTH(1),#ORDINAL(42) LIST,AT(6,27,89,222),USE(?ListT),FORMAT('320L*I@s80@'),FROM(QuT),#ORDINAL(43) SHEET,AT(99,84),USE(?Sheet),FULL,HIDE,#ORDINAL(44) TAB,USE(?TabWind),#ORDINAL(45) END END GROUP,USE(?Group1),#ORDINAL(46) ENTRY(@s20),AT(106,68,75,11),USE(Finder),#ORDINAL(47) BUTTON,AT(183,63,19,18),USE(?ButKyb),#ORDINAL(48) BUTTON,AT(245,50,13,12),USE(?BMemo),#ORDINAL(49) LIST,AT(99,100),USE(?ListY),FULL,FROM(QuY),#ORDINAL(50) BUTTON,AT(137,49,58,14),USE(?Cancel),KEY(AltEsc),HIDE,#ORDINAL(51) END CHECK,AT(106,27,12,10),USE(Opt:hideclosedcr),VALUE('1','0'),#ORDINAL(80) STRING(@S40),AT(132,30,67,9),USE(OUA:Str35),#ORDINAL(81) CHECK,AT(200,27,12,10),USE(Opt:memorsupp),VALUE('1','0'),#ORDINAL(82) STRING(@S40),AT(214,30,73,9),USE(OUA:Str44),#ORDINAL(83) BOX,AT(92,18,98,50),USE(?BoxLicensee),HIDE,LINEWIDTH(1),ROUND,#ORDINAL(84) PROMPT('Int'),AT(94,16,94,32),USE(?Licensee),HIDE,#ORDINAL(85) BOX,AT(244,18,154,62),USE(?BoxTRHS),HIDE,LINEWIDTH(1),ROUND,#ORDINAL(86) STRING(@S40),AT(249,20,150,9),USE(QuY:Dis09),#ORDINAL(87) STRING(@S40),AT(249,29,150,9),USE(QuY:Dis10),#ORDINAL(88) STRING(@S40),AT(249,38,150,9),USE(QuY:Dis11),#ORDINAL(89) STRING(@S40),AT(249,47,150,9),USE(QuY:Dis12),#ORDINAL(90) STRING(@S40),AT(249,56,150,9),USE(QuY:Dis13),#ORDINAL(91) STRING(@S40),AT(249,65,150,9),USE(QuY:Dis14),#ORDINAL(92) STRING('Sting33'),AT(179,20,50,11),USE(?Sting33),HIDE,#ORDINAL(93) STRING(@n7),AT(20,200,12,10),USE(Aqu:acounst),HIDE,#ORDINAL(94) BUTTON,AT(306,220,50,14),USE(?Breaker),KEY(AltEsc),HIDE,#ORDINAL(95) STRING(@S50),AT(139,65,200,9),USE(QuY:Dis16),HIDE,#ORDINAL(96) STRING(@s40),AT(120,80,60,20),USE(OUA:Str71),HIDE,#ORDINAL(97) END