--- a\src\win\iupwin_menu.c	Mon Dec 11 14:52:42 2017
+++ b\src\win\iupwin_menu.c	Wed Jan 24 23:07:09 2018
@@ -209,7 +209,7 @@
   {
     /* search for a valid handle */
     Ihandle* dlg = iupDlgListFirst();
-    do 
+    while(dlg)
     {
       if (dlg->handle)
       {
@@ -220,7 +220,7 @@
           break;
       }
       dlg = iupDlgListNext();
-    } while (dlg);
+    }
   }
 
   /* Necessary to avoid tray dialogs to lock popup menus (they get sticky after the 1st time) */
@@ -431,9 +431,13 @@
     hBitmapChecked = hBitmapUnchecked;
 
   SetMenuItemBitmaps((HMENU)ih->handle, (UINT)ih->serial, MF_BYCOMMAND, hBitmapUnchecked, hBitmapChecked);
-
   winMenuUpdateBar(ih);
 
+  if (impress)
+  {
+     DeleteObject(hBitmapChecked);
+  }
+
   return 1;
 }
 
@@ -450,8 +454,13 @@
     hBitmapChecked = hBitmapUnchecked;
 
   SetMenuItemBitmaps((HMENU)ih->handle, (UINT)ih->serial, MF_BYCOMMAND, hBitmapUnchecked, hBitmapChecked);
-
   winMenuUpdateBar(ih);
+
+  if (value)
+  {
+    DeleteObject(hBitmapChecked);
+  }
+  DeleteObject(hBitmapunChecked);
 
   return 1;
 }
