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,4 @@
     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 +505,4 @@
     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/devmgmt/mainwnd.c
===================================================================
--- base/applications/mscutils/devmgmt/mainwnd.c	(revision 67221)
+++ base/applications/mscutils/devmgmt/mainwnd.c	(working copy)
@@ -864,6 +864,5 @@
     wc.hInstance = hInstance;
-    wc.hIcon = LoadIcon(hInstance,
-                        MAKEINTRESOURCE(IDI_MAIN_ICON));
-    wc.hCursor = LoadCursor(NULL,
-                            IDC_ARROW);
+    wc.hIcon = LoadImage(hInstance, MAKEINTRESOURCE(IDI_MAIN_ICON), IMAGE_ICON, 0, 0,
+                                                                    LR_SHARED | LR_DEFAULTSIZE);
+    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
     wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
@@ -871,8 +870,4 @@
     wc.lpszClassName = szMainWndClass;
-    wc.hIconSm = (HICON)LoadImage(hInstance,
-                                  MAKEINTRESOURCE(IDI_MAIN_ICON),
-                                  IMAGE_ICON,
-                                  16,
-                                  16,
-                                  LR_SHARED);
+    wc.hIconSm = CopyImage(wc.hIcon, IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
+                                                 GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
 
Index: base/applications/mscutils/devmgmt_new/MainWindow.cpp
===================================================================
--- base/applications/mscutils/devmgmt_new/MainWindow.cpp	(revision 67221)
+++ base/applications/mscutils/devmgmt_new/MainWindow.cpp	(working copy)
@@ -79,3 +79,4 @@
     wc.hInstance = g_hInstance;
-    wc.hIcon = LoadIcon(g_hInstance, MAKEINTRESOURCEW(IDI_MAIN_ICON));
+    wc.hIcon = LoadImage(hInstance, MAKEINTRESOURCE(IDI_MAIN_ICON), IMAGE_ICON, 0, 0,
+                                                                    LR_SHARED | LR_DEFAULTSIZE);
     wc.hCursor = LoadCursor(NULL, IDC_ARROW);
@@ -84,8 +85,5 @@
     wc.lpszClassName = m_szMainWndClass;
-    wc.hIconSm = (HICON)LoadImage(g_hInstance,
-                                  MAKEINTRESOURCE(IDI_MAIN_ICON),
-                                  IMAGE_ICON,
-                                  16,
-                                  16,
-                                  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/mscutils/servman/mainwnd.c
===================================================================
--- base/applications/mscutils/servman/mainwnd.c	(revision 67221)
+++ base/applications/mscutils/servman/mainwnd.c	(working copy)
@@ -965,4 +965,4 @@
     wc.hInstance = hInstance;
-    wc.hIcon = LoadIcon(hInstance,
-                        MAKEINTRESOURCE(IDI_SM_ICON));
+    wc.hIcon         = LoadImage(hInstance, MAKEINTRESOURCE(IDI_SM_ICON), IMAGE_ICON, 0, 0,
+                                                                          LR_SHARED | LR_DEFAULTSIZE);
     wc.hCursor = LoadCursor(NULL,
@@ -972,8 +972,4 @@
     wc.lpszClassName = szMainWndClass;
-    wc.hIconSm = (HICON)LoadImage(hInstance,
-                                  MAKEINTRESOURCE(IDI_SM_ICON),
-                                  IMAGE_ICON,
-                                  16,
-                                  16,
-                                  LR_SHARED);
+    wc.hIconSm       = CopyImage(wc.hIcon, IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
+                                                       GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
 
Index: base/applications/notepad/main.c
===================================================================
--- base/applications/notepad/main.c	(revision 67221)
+++ base/applications/notepad/main.c	(working copy)
@@ -616,3 +616,4 @@
     wndclass.hInstance = Globals.hInstance;
-    wndclass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_NPICON));
+    wndclass.hIcon = LoadImage(hInstance, MAKEINTRESOURCE(IDI_NPICON), IMAGE_ICON, 0, 0,
+                                                                       LR_SHARED | LR_DEFAULTSIZE);
     wndclass.hCursor = LoadCursor(0, IDC_ARROW);
@@ -621,8 +622,5 @@
     wndclass.lpszClassName = className;
-    wndclass.hIconSm = (HICON)LoadImage(hInstance,
-                                        MAKEINTRESOURCE(IDI_NPICON),
-                                        IMAGE_ICON,
-                                        16,
-                                        16,
-                                        0);
+    wndclass.hIconSm = CopyImage(wndclass.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);
 
Index: base/applications/winhlp32/winhelp.c
===================================================================
--- base/applications/winhlp32/winhelp.c	(revision 67221)
+++ base/applications/winhlp32/winhelp.c	(working copy)
@@ -1596,3 +1596,6 @@
     class_main.hInstance           = Globals.hInstance;
-    class_main.hIcon               = LoadIconW(Globals.hInstance, MAKEINTRESOURCEW(IDI_WINHELP));
+    class_main.hIcon               = LoadImage(Globals.hInstance, MAKEINTRESOURCE(IDI_WINHELP),
+                                                                  IMAGE_ICON,
+                                                                  0, 0,
+                                                                  LR_SHARED | LR_DEFAULTSIZE);
     class_main.hCursor             = LoadCursorW(0, (LPWSTR)IDC_ARROW);
@@ -1601,6 +1604,6 @@
     class_main.lpszClassName       = MAIN_WIN_CLASS_NAME;
-    class_main.hIconSm             = LoadImageW(Globals.hInstance, MAKEINTRESOURCEW(IDI_WINHELP), IMAGE_ICON,
-                                               GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON),
-                                               LR_SHARED);
-
+    class_main.hIconSm             = CopyImage(class_main.hIcon, IMAGE_ICON,
+                                                                 GetSystemMetrics(SM_CXSMICON),
+                                                                 GetSystemMetrics(SM_CYSMICON),
+                                                                 LR_COPYFROMRESOURCE);
     class_button_box               = class_main;
Index: base/applications/wordpad/wordpad.c
===================================================================
--- base/applications/wordpad/wordpad.c	(revision 67221)
+++ base/applications/wordpad/wordpad.c	(working copy)
@@ -2672,5 +2672,6 @@
     wc.hInstance = hInstance;
-    wc.hIcon = LoadIconW(hInstance, MAKEINTRESOURCEW(IDI_WORDPAD));
-    wc.hIconSm = LoadImageW(hInstance, MAKEINTRESOURCEW(IDI_WORDPAD), IMAGE_ICON,
-                            GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED);
+    wc.hIcon = LoadImage(hInstance, MAKEINTRESOURCE(IDI_WORDPAD), IMAGE_ICON, 0, 0,
+                                                                  LR_SHARED | LR_DEFAULTSIZE);
+    wc.hIconSm = CopyImage(wc.hIcon, IMAGE_ICON, GetSystemMetrics(SM_CXSMICON),
+                                                 GetSystemMetrics(SM_CYSMICON), LR_COPYFROMRESOURCE);
     wc.hCursor = LoadCursorW(NULL, (LPWSTR)IDC_IBEAM);
