Index: base/applications/charmap/charmap.c
===================================================================
--- base/applications/charmap/charmap.c	(revision 67221)
+++ base/applications/charmap/charmap.c	(working copy)
@@ -20,4 +20,2 @@
 HWND      hStatusWnd;
-HICON     hSmIcon;
-HICON     hBgIcon;
 SETTINGS  Settings;
@@ -495,16 +493,2 @@
 
-    hSmIcon = LoadImage(hInstance,
-                        MAKEINTRESOURCE(IDI_ICON),
-                        IMAGE_ICON,
-                        16,
-                        16,
-                        0);
-
-    hBgIcon = LoadImage(hInstance,
-                        MAKEINTRESOURCE(IDI_ICON),
-                        IMAGE_ICON,
-                        32,
-                        32,
-                        0);
-
     // Create workspace
@@ -515,3 +499,3 @@
     wc.hInstance     = hInst;
-    wc.hIcon         = hBgIcon;
+    wc.hIcon         = LoadImage(hInstance, MAKEINTRESOURCE(IDI_ICON), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE);
     wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
@@ -520,3 +504,5 @@
     wc.lpszClassName = szClass;
-    wc.hIconSm       = hSmIcon;
+    wc.hIconSm       = CopyImage(wc.hIcon, IMAGE_ICON,
+                                           GetSystemMetrics(SM_CXSMICON),
+                                           GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
 
Index: base/applications/games/winmine/main.c
===================================================================
--- base/applications/games/winmine/main.c	(revision 67221)
+++ base/applications/games/winmine/main.c	(working copy)
@@ -1022,3 +1022,3 @@
     wc.hInstance = hInst;
-    wc.hIcon = LoadIcon( hInst, "WINEMINE" );
+    wc.hIcon = LoadImage(hInst, "WINEMINE", IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE);
     wc.hCursor = LoadCursor( 0, IDI_APPLICATION );
@@ -1027,4 +1027,5 @@
     wc.lpszClassName = appname;
-    wc.hIconSm = LoadImage( hInst, "WINEMINE", IMAGE_ICON,
-                            GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED );
+    wc.hIconSm = CopyImage(wc.hIcon, IMAGE_ICON,
+                                     GetSystemMetrics(SM_CXSMICON),
+                                     GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
 
Index: base/applications/mscutils/eventvwr/eventvwr.c
===================================================================
--- base/applications/mscutils/eventvwr/eventvwr.c	(revision 67221)
+++ base/applications/mscutils/eventvwr/eventvwr.c	(working copy)
@@ -859,3 +859,3 @@
     wcex.hInstance = hInstance;
-    wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_EVENTVWR));
+    wcex.hIcon = LoadImage(hInstance, MAKEINTRESOURCE(IDI_EVENTVWR), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE);
     wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
@@ -864,8 +864,4 @@
     wcex.lpszClassName = szWindowClass;
-    wcex.hIconSm = (HICON)LoadImage(hInstance,
-                                    MAKEINTRESOURCE(IDI_EVENTVWR),
-                                    IMAGE_ICON,
-                                    16,
-                                    16,
-                                    LR_SHARED);
+    wcex.hIconSm = CopyImage(wcex.hIcon, IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
+                                                     GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
 
Index: base/applications/regedit/main.c
===================================================================
--- base/applications/regedit/main.c	(revision 67221)
+++ base/applications/regedit/main.c	(working copy)
@@ -68,6 +68,6 @@
     wcFrame.hInstance = hInstance;
-    wcFrame.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT));
-    wcFrame.hIconSm = (HICON)LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT),
-                                        IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
-                                        GetSystemMetrics(SM_CYSMICON), LR_SHARED);
+    wcFrame.hIcon = LoadImage(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE);
+    wcFrame.hIconSm = CopyImage(wcFrame.hIcon, IMAGE_ICON,
+                                               GetSystemMetrics(SM_CXSMICON),
+                                               GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
     wcFrame.hCursor = LoadCursorW(NULL, IDC_ARROW);
@@ -82,8 +82,8 @@
     wcChild.hInstance = hInstance;
-    wcChild.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT));
+    wcChild.hIcon = LoadImage(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE);
     wcChild.hCursor = LoadCursorW(NULL, IDC_ARROW);
     wcChild.lpszClassName = szChildClass;
-    wcChild.hIconSm = (HICON)LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_REGEDIT),
-                                        IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
-                                        GetSystemMetrics(SM_CYSMICON), LR_SHARED);
+    wcChild.hIconSm = CopyImage(wcChild.hIcon, IMAGE_ICON,
+                                               GetSystemMetrics(SM_CXSMICON),
+                                               GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
 
