diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
index 70404fd..e09dc5e 100644
--- a/dlls/comctl32/imagelist.c
+++ b/dlls/comctl32/imagelist.c
@@ -31,7 +31,6 @@
 
  
 #include "windows.h"
-#include "winversion.h"
 #include "wine/obj_base.h"
 #include "wine/obj_storage.h"
 #include "imagelist.h"
@@ -1384,7 +1383,7 @@
 
 
 /*************************************************************************
- * ImageList_LoadImage32A [COMCTL32.63]
+ * ImageList_LoadImage32A [COMCTL32.63][COMCTL32.62]
  *
  * Creates an image list from a bitmap, icon or cursor.
  *
@@ -1398,7 +1397,7 @@
  *     uFlags  [I] loading flags
  *
  * RETURNS
- *     Success: handle to image list
+ *     Success: handle to the loaded image list
  *     Failure: NULL
  *
  * SEE
@@ -1462,7 +1461,7 @@
  *     uFlags  [I] loading flags
  *
  * RETURNS
- *     Success: handle to image list
+ *     Success: handle to the loaded image list
  *     Failure: NULL
  *
  * SEE
@@ -1512,41 +1511,6 @@
 
 
 /*************************************************************************
- * ImageList_LoadImage32AW [COMCTL32.62]
- *
- * Creates an image list from a bitmap, icon or cursor.
- *
- * PARAMS
- *     hi      [I] instance handle
- *     lpbmp   [I] name or id of the image
- *     cx      [I] width of each image
- *     cGrow   [I] number of images to expand
- *     clrMask [I] mask color
- *     uType   [I] type of image to load
- *     uFlags  [I] loading flags
- *
- * RETURNS
- *     Success: handle to image list
- *     Failure: NULL
- *
- * SEE
- *     LoadImage ()
- */
-
-HIMAGELIST WINAPI
-ImageList_LoadImage32AW (HINSTANCE32 hi, const LPVOID lpbmp, INT32 cx,
-			 INT32 cGrow, COLORREF clrMask, UINT32 uType,
-			 UINT32 uFlags)
-{
-    if (VERSION_OsIsUnicode())
-	return ImageList_LoadImage32W (hi, (LPCWSTR)lpbmp, cx, cGrow,
-				       clrMask, uType, uFlags);
-    return ImageList_LoadImage32A (hi, (LPCSTR)lpbmp, cx, cGrow,
-				   clrMask, uType, uFlags);
-}
-
-
-/*************************************************************************
  * ImageList_Merge [COMCTL32.65] 
  *
  * Creates a new image list that contains a merged image from the specified
