diff --git a/dlls/gdi/gdi16.c b/dlls/gdi/gdi16.c
index dfa980b..ac658b0 100644
--- a/dlls/gdi/gdi16.c
+++ b/dlls/gdi/gdi16.c
@@ -1254,7 +1254,6 @@
 
 /**********************************************************************
  *	     CreateMetaFile     (GDI.125)
- *	     CreateMetaFile16   (GDI32.@)
  */
 HDC16 WINAPI CreateMetaFile16( LPCSTR filename )
 {
@@ -1596,7 +1595,6 @@
 
 /***********************************************************************
  *           GDISelectPalette   (GDI.361)
- *           GDISelectPalette16 (GDI32.@)
  */
 HPALETTE16 WINAPI GDISelectPalette16( HDC16 hdc, HPALETTE16 hpalette, WORD wBkg )
 {
@@ -1606,7 +1604,6 @@
 
 /***********************************************************************
  *           GDIRealizePalette   (GDI.362)
- *           GDIRealizePalette16 (GDI32.@)
  */
 UINT16 WINAPI GDIRealizePalette16( HDC16 hdc )
 {
diff --git a/dlls/gdi/mfdrv/init.c b/dlls/gdi/mfdrv/init.c
index dd4d1dc..7eca989 100644
--- a/dlls/gdi/mfdrv/init.c
+++ b/dlls/gdi/mfdrv/init.c
@@ -317,7 +317,6 @@
 
 /******************************************************************
  *	     CloseMetaFile     (GDI.126)
- *	     CloseMetaFile16   (GDI32.@)
  */
 HMETAFILE16 WINAPI CloseMetaFile16(
 				   HDC16 hdc /* [in] Metafile DC to close */
diff --git a/dlls/gdi/printdrv.c b/dlls/gdi/printdrv.c
index 0f9e248..dd79c94 100644
--- a/dlls/gdi/printdrv.c
+++ b/dlls/gdi/printdrv.c
@@ -520,7 +520,6 @@
 
 /**********************************************************************
  *           OpenJob   (GDI.240)
- *           OpenJob16 (GDI32.@)
  *
  */
 HPJOB16 WINAPI OpenJob16(LPCSTR lpOutput, LPCSTR lpTitle, HDC16 hDC)
@@ -567,7 +566,6 @@
 
 /**********************************************************************
  *           CloseJob   (GDI.243)
- *           CloseJob16 (GDI32.@)
  *
  */
 INT16 WINAPI CloseJob16(HPJOB16 hJob)
@@ -590,7 +588,6 @@
 
 /**********************************************************************
  *           WriteSpool   (GDI.241)
- *           WriteSpool16 (GDI32.@)
  *
  */
 INT16 WINAPI WriteSpool16(HPJOB16 hJob, LPSTR lpData, INT16 cch)
@@ -739,7 +736,6 @@
 
 /******************************************************************
  *                DrvGetPrinterData     (GDI.282)
- *                DrvGetPrinterData16   (GDI32.@)
  *
  */
 DWORD WINAPI DrvGetPrinterData16(LPSTR lpPrinter, LPSTR lpProfile,
@@ -834,7 +830,6 @@
 
 /******************************************************************
  *                 DrvSetPrinterData     (GDI.281)
- *                 DrvSetPrinterData16   (GDI32.@)
  *
  */
 DWORD WINAPI DrvSetPrinterData16(LPSTR lpPrinter, LPSTR lpProfile,
diff --git a/dlls/netapi32/access.c b/dlls/netapi32/access.c
index f758034..6ac7995 100644
--- a/dlls/netapi32/access.c
+++ b/dlls/netapi32/access.c
@@ -18,12 +18,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include <winbase.h>
-#include <winerror.h>
-#include <lmcons.h>
-#include <lmaccess.h>
-#include <lmapibuf.h>
-#include <lmerr.h>
+#include "winbase.h"
+#include "winerror.h"
+#include "lmcons.h"
+#include "lmaccess.h"
+#include "lmapibuf.h"
+#include "lmerr.h"
 #include "netapi32_misc.h"
 #include "wine/debug.h"
 #include "wine/unicode.h"
diff --git a/dlls/netapi32/browsr.c b/dlls/netapi32/browsr.c
index d969c45..f8dcdff 100644
--- a/dlls/netapi32/browsr.c
+++ b/dlls/netapi32/browsr.c
@@ -18,10 +18,10 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include <winbase.h>
-#include <winerror.h>
-#include <lmcons.h>
-#include <lmbrowsr.h>
+#include "winbase.h"
+#include "winerror.h"
+#include "lmcons.h"
+#include "lmbrowsr.h"
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(netapi32);
diff --git a/dlls/netapi32/wksta.c b/dlls/netapi32/wksta.c
index ffac3e2..a7193d2 100644
--- a/dlls/netapi32/wksta.c
+++ b/dlls/netapi32/wksta.c
@@ -18,15 +18,15 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#include <winbase.h>
-#include <nb30.h>
-#include <lmcons.h>
-#include <lmapibuf.h>
-#include <lmerr.h>
-#include <lmwksta.h>
-#include <winerror.h>
-#include <winternl.h>
-#include <ntsecapi.h>
+#include "winbase.h"
+#include "nb30.h"
+#include "lmcons.h"
+#include "lmapibuf.h"
+#include "lmerr.h"
+#include "lmwksta.h"
+#include "winerror.h"
+#include "winternl.h"
+#include "ntsecapi.h"
 #include "wine/debug.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(netapi32);
diff --git a/dlls/user/msg16.c b/dlls/user/msg16.c
index 83bf72f..71763af 100644
--- a/dlls/user/msg16.c
+++ b/dlls/user/msg16.c
@@ -112,7 +112,6 @@
 
 /***********************************************************************
  *		PostAppMessage (USER.116)
- *		PostAppMessage16 (USER32.@)
  */
 BOOL16 WINAPI PostAppMessage16( HTASK16 hTask, UINT16 msg, WPARAM16 wparam, LPARAM lparam )
 {
diff --git a/loader/module.c b/loader/module.c
index 41119f5..56081c5 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -808,7 +808,6 @@
 
 /***********************************************************************
  *           WinExec     (KERNEL.166)
- *           WinExec16   (KERNEL32.@)
  */
 HINSTANCE16 WINAPI WinExec16( LPCSTR lpCmdLine, UINT16 nCmdShow )
 {
diff --git a/loader/ne/convert.c b/loader/ne/convert.c
index cc5c16f..fbe9fe5 100644
--- a/loader/ne/convert.c
+++ b/loader/ne/convert.c
@@ -30,7 +30,6 @@
 
 /**********************************************************************
  *	    ConvertDialog32To16   (KERNEL.615)
- *	    ConvertDialog32To16   (KERNEL32.@)
  */
 VOID WINAPI ConvertDialog32To16( LPVOID dialog32, DWORD size, LPVOID dialog16 )
 {
@@ -454,4 +453,3 @@
 
     return handle;
 }
-
diff --git a/loader/ne/module.c b/loader/ne/module.c
index c1b2c6d..e214547 100644
--- a/loader/ne/module.c
+++ b/loader/ne/module.c
@@ -1051,7 +1051,6 @@
 
 /**********************************************************************
  *          LoadModule      (KERNEL.45)
- *          LoadModule16    (KERNEL32.@)
  */
 HINSTANCE16 WINAPI LoadModule16( LPCSTR name, LPVOID paramBlock )
 {
@@ -1420,7 +1419,6 @@
 
 /**********************************************************************
  *	    GetModuleFileName      (KERNEL.49)
- *	    GetModuleFileName16    (KERNEL32.@)
  *
  * Comment: see GetModuleFileNameA
  *
diff --git a/loader/resource.c b/loader/resource.c
index 20c47c8..f7e001c 100644
--- a/loader/resource.c
+++ b/loader/resource.c
@@ -336,7 +336,6 @@
 
 /**********************************************************************
  *          FindResource     (KERNEL.60)
- *          FindResource16   (KERNEL32.@)
  */
 HRSRC16 WINAPI FindResource16( HMODULE16 hModule, LPCSTR name, LPCSTR type )
 {
@@ -384,7 +383,6 @@
 
 /**********************************************************************
  *          LoadResource     (KERNEL.61)
- *          LoadResource16   (KERNEL32.@)
  */
 HGLOBAL16 WINAPI LoadResource16( HMODULE16 hModule, HRSRC16 hRsrc )
 {
@@ -436,7 +434,6 @@
 
 /**********************************************************************
  *          FreeResource     (KERNEL.63)
- *          FreeResource16   (KERNEL32.@)
  */
 BOOL16 WINAPI FreeResource16( HGLOBAL16 handle )
 {
@@ -476,7 +473,6 @@
 
 /**********************************************************************
  *          SizeofResource   (KERNEL.65)
- *          SizeofResource16 (KERNEL32.@)
  */
 DWORD WINAPI SizeofResource16( HMODULE16 hModule, HRSRC16 hRsrc )
 {
diff --git a/loader/task.c b/loader/task.c
index ce673e2..b56692f 100644
--- a/loader/task.c
+++ b/loader/task.c
@@ -1292,7 +1292,6 @@
 
 /***********************************************************************
  *           IsTask   (KERNEL.320)
- *           IsTask16 (KERNEL32.@)
  */
 BOOL16 WINAPI IsTask16( HTASK16 hTask )
 {
diff --git a/memory/environ.c b/memory/environ.c
index 3430510..99dc657 100644
--- a/memory/environ.c
+++ b/memory/environ.c
@@ -750,7 +750,6 @@
 
 /***********************************************************************
  *           GetDOSEnvironment     (KERNEL.131)
- *           GetDOSEnvironment16   (KERNEL32.@)
  */
 SEGPTR WINAPI GetDOSEnvironment16(void)
 {
diff --git a/memory/global.c b/memory/global.c
index 4c20603..231746b 100644
--- a/memory/global.c
+++ b/memory/global.c
@@ -277,7 +277,6 @@
 
 /***********************************************************************
  *           GlobalReAlloc     (KERNEL.16)
- *           GlobalReAlloc16   (KERNEL32.@)
  * RETURNS
  *	Handle: Success
  *	NULL: Failure
@@ -578,7 +577,7 @@
 
 /***********************************************************************
  *           GlobalFlags     (KERNEL.22)
- *           GlobalFlags16   (KERNEL32.@)
+ *
  * NOTES
  *	Should this return GMEM_INVALID_HANDLE instead of 0 on invalid
  *	handle?
diff --git a/memory/selector.c b/memory/selector.c
index 3879252..342bc66 100644
--- a/memory/selector.c
+++ b/memory/selector.c
@@ -328,6 +328,10 @@
     DWORD base = GetSelectorBase( sel );
     return W32S_WINE2APP( base );
 }
+
+/***********************************************************************
+ *		GetSelectorBase
+ */
 DWORD WINAPI GetSelectorBase( WORD sel )
 {
     void *base = wine_ldt_copy.base[sel >> __AHSHIFT];
@@ -353,6 +357,10 @@
     SetSelectorBase( sel, W32S_APP2WINE( base ) );
     return sel;
 }
+
+/***********************************************************************
+ *		SetSelectorBase
+ */
 WORD WINAPI SetSelectorBase( WORD sel, DWORD base )
 {
     LDT_ENTRY entry;
diff --git a/objects/clipping.c b/objects/clipping.c
index bf88d3a..2513bbf 100644
--- a/objects/clipping.c
+++ b/objects/clipping.c
@@ -118,7 +118,6 @@
 
 /***********************************************************************
  *           SelectVisRgn   (GDI.105)
- *           SelectVisRgn16 (GDI32.@)
  */
 INT16 WINAPI SelectVisRgn16( HDC16 hdc, HRGN16 hrgn )
 {
@@ -267,7 +266,6 @@
 
 /***********************************************************************
  *           ExcludeVisRect   (GDI.73)
- *           ExcludeVisRect16 (GDI32.@)
  */
 INT16 WINAPI ExcludeVisRect16( HDC16 hdc, INT16 left, INT16 top,
                              INT16 right, INT16 bottom )
@@ -300,7 +298,6 @@
 
 /***********************************************************************
  *           IntersectVisRect   (GDI.98)
- *           IntersectVisRect16 (GDI32.@)
  */
 INT16 WINAPI IntersectVisRect16( HDC16 hdc, INT16 left, INT16 top,
                                INT16 right, INT16 bottom )
@@ -414,7 +411,6 @@
 
 /***********************************************************************
  *           SaveVisRgn   (GDI.129)
- *           SaveVisRgn16 (GDI32.@)
  */
 HRGN16 WINAPI SaveVisRgn16( HDC16 hdc )
 {
@@ -455,7 +451,6 @@
 
 /***********************************************************************
  *           RestoreVisRgn   (GDI.130)
- *           RestoreVisRgn16 (GDI32.@)
  */
 INT16 WINAPI RestoreVisRgn16( HDC16 hdc )
 {
diff --git a/objects/dc.c b/objects/dc.c
index 213d4cb..a67a026 100644
--- a/objects/dc.c
+++ b/objects/dc.c
@@ -268,7 +268,6 @@
 
 /***********************************************************************
  *           GetDCState   (GDI.179)
- *           GetDCState16 (GDI32.@)
  */
 HDC16 WINAPI GetDCState16( HDC16 hdc )
 {
@@ -358,7 +357,6 @@
 
 /***********************************************************************
  *           SetDCState   (GDI.180)
- *           SetDCState16 (GDI32.@)
  */
 void WINAPI SetDCState16( HDC16 hdc, HDC16 hdcs )
 {
@@ -901,7 +899,6 @@
 
 /***********************************************************************
  *           SetDCOrg   (GDI.117)
- *           SetDCOrg16 (GDI32.@)
  */
 DWORD WINAPI SetDCOrg16( HDC16 hdc, INT16 x, INT16 y )
 {
@@ -1169,7 +1166,6 @@
 
 /***********************************************************************
  *           SetHookFlags   (GDI.192)
- *           SetHookFlags16 (GDI32.@)
  */
 WORD WINAPI SetHookFlags16(HDC16 hDC, WORD flags)
 {
diff --git a/objects/dcvalues.c b/objects/dcvalues.c
index eed2d27..be31f4c 100644
--- a/objects/dcvalues.c
+++ b/objects/dcvalues.c
@@ -399,7 +399,6 @@
 
 /***********************************************************************
  *		InquireVisRgn   (GDI.131)
- *              InquireVisRgn16 (GDI32.@)
  */
 HRGN16 WINAPI InquireVisRgn16( HDC16 hdc )
 {
diff --git a/objects/metafile.c b/objects/metafile.c
index 0abf40c..d8b8ea0 100644
--- a/objects/metafile.c
+++ b/objects/metafile.c
@@ -182,7 +182,6 @@
 
 /******************************************************************
  *	     DeleteMetaFile   (GDI.127)
- *           DeleteMetaFile16 (GDI32.@)
  */
 BOOL16 WINAPI DeleteMetaFile16(  HMETAFILE16 hmf )
 {
diff --git a/objects/palette.c b/objects/palette.c
index 37ee603..238e7ad 100644
--- a/objects/palette.c
+++ b/objects/palette.c
@@ -732,7 +732,6 @@
 
 /***********************************************************************
  *           IsDCCurrentPalette   (GDI.412)
- *           IsDCCurrentPalette16 (GDI32.@)
  */
 BOOL16 WINAPI IsDCCurrentPalette16(HDC16 hDC)
 {
diff --git a/windows/cursoricon.c b/windows/cursoricon.c
index e43af86..b581de6 100644
--- a/windows/cursoricon.c
+++ b/windows/cursoricon.c
@@ -1235,7 +1235,6 @@
 
 /**********************************************************************
  *		DestroyIcon32 (USER.610)
- *		DestroyIcon32 (USER32.@)
  *
  * This routine is actually exported from Win95 USER under the name
  * DestroyIcon32 ...  The behaviour implemented here should mimic
diff --git a/windows/dialog.c b/windows/dialog.c
index 21a71a8..58bb38e 100644
--- a/windows/dialog.c
+++ b/windows/dialog.c
@@ -966,7 +966,6 @@
 
 /***********************************************************************
  *		CreateDialogIndirectParam (USER.242)
- *		CreateDialogIndirectParam16 (USER32.@)
  */
 HWND16 WINAPI CreateDialogIndirectParam16( HINSTANCE16 hInst,
                                            LPCVOID dlgTemplate,
@@ -1137,7 +1136,6 @@
 
 /***********************************************************************
  *		DialogBoxIndirectParam (USER.240)
- *		DialogBoxIndirectParam16 (USER32.@)
  */
 INT16 WINAPI DialogBoxIndirectParam16( HINSTANCE16 hInst, HANDLE16 dlgTemplate,
                                        HWND16 owner16, DLGPROC16 dlgProc,
diff --git a/windows/driver.c b/windows/driver.c
index ff30f29..6b57240 100644
--- a/windows/driver.c
+++ b/windows/driver.c
@@ -127,7 +127,6 @@
 
 /**************************************************************************
  *		SendDriverMessage (USER.251)
- *		SendDriverMessage16 (USER32.@)
  */
 LRESULT WINAPI SendDriverMessage16(HDRVR16 hDriver, UINT16 msg, LPARAM lParam1,
                                    LPARAM lParam2)
@@ -267,7 +266,6 @@
 
 /**************************************************************************
  *		OpenDriver (USER.252)
- *		OpenDriver16 (USER32.@)
  */
 HDRVR16 WINAPI OpenDriver16(LPCSTR lpDriverName, LPCSTR lpSectionName, LPARAM lParam2)
 {
@@ -301,7 +299,6 @@
 
 /**************************************************************************
  *		CloseDriver (USER.253)
- *		CloseDriver16 (USER32.@)
  */
 LRESULT WINAPI CloseDriver16(HDRVR16 hDrvr, LPARAM lParam1, LPARAM lParam2)
 {
@@ -323,7 +320,6 @@
 
 /**************************************************************************
  *		GetDriverModuleHandle (USER.254)
- *		GetDriverModuleHandle16 (USER32.@)
  */
 HMODULE16 WINAPI GetDriverModuleHandle16(HDRVR16 hDrvr)
 {
@@ -341,7 +337,6 @@
 
 /**************************************************************************
  *		DefDriverProc (USER.255)
- *		DefDriverProc16 (USER32.@)
  */
 LRESULT WINAPI DefDriverProc16(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg,
                                LPARAM lParam1, LPARAM lParam2)
@@ -431,4 +426,3 @@
     TRACE("return %04x !\n", hRetDrv);
     return hRetDrv;
 }
-
diff --git a/windows/hook.c b/windows/hook.c
index cbce648..bc7bd0b 100644
--- a/windows/hook.c
+++ b/windows/hook.c
@@ -926,7 +926,6 @@
 
 /***********************************************************************
  *		SetWindowsHookEx (USER.291)
- *		SetWindowsHookEx16 (USER32.@)
  */
 HHOOK WINAPI SetWindowsHookEx16( INT16 id, HOOKPROC16 proc, HINSTANCE16 hInst,
                                  HTASK16 hTask )
@@ -1005,7 +1004,6 @@
 
 /***********************************************************************
  *		CallNextHookEx (USER.293)
- *		CallNextHookEx16 (USER32.@)
  *
  * I wouldn't have separated this into 16 and 32 bit versions, but I
  * need a way to figure out if I need to do a mapping or not.
diff --git a/windows/message.c b/windows/message.c
index bcf0228..c1431dd 100644
--- a/windows/message.c
+++ b/windows/message.c
@@ -798,7 +798,6 @@
 
 /***********************************************************************
  *		UserYield (USER.332)
- *		UserYield16 (USER32.@)
  */
 void WINAPI UserYield16(void)
 {
diff --git a/windows/queue.c b/windows/queue.c
index cd320a0..83c2d3e 100644
--- a/windows/queue.c
+++ b/windows/queue.c
@@ -457,7 +457,6 @@
 
 /***********************************************************************
  *		InitThreadInput   (USER.409)
- *              InitThreadInput16 (USER32.@)
  */
 HQUEUE16 WINAPI InitThreadInput16( WORD unknown, WORD flags )
 {
diff --git a/windows/winproc.c b/windows/winproc.c
index 4b8f8c3..e841c0b 100644
--- a/windows/winproc.c
+++ b/windows/winproc.c
@@ -2707,7 +2707,6 @@
 
 /**********************************************************************
  *		CallWindowProc (USER.122)
- *		CallWindowProc16 (USER32.@)
  */
 LRESULT WINAPI CallWindowProc16( WNDPROC16 func, HWND16 hwnd, UINT16 msg,
                                  WPARAM16 wParam, LPARAM lParam )
