diff --git a/tools/winapi_check/modules.dat b/tools/winapi_check/modules.dat
index f2391aa..7c273ee 100644
--- a/tools/winapi_check/modules.dat
+++ b/tools/winapi_check/modules.dat
@@ -322,7 +322,7 @@
 
 % dlls/user/ddeml.spec
 
-dlls/user
+dlls/user/dde
 
 % dlls/user/display.spec
 
@@ -350,6 +350,7 @@
 
 controls
 dlls/user
+dlls/user/dde
 loader
 windows
 
diff --git a/tools/winapi_check/win32/user32.api b/tools/winapi_check/win32/user32.api
index a7b4f1a..56fe178 100644
--- a/tools/winapi_check/win32/user32.api
+++ b/tools/winapi_check/win32/user32.api
@@ -92,6 +92,7 @@
 LPDRAWTEXTPARAMS
 LPDWORD
 LPINT
+LPINPUT
 LPMENUINFO
 LPMENUITEMINFOA
 LPMENUITEMINFOW
diff --git a/tools/winapi_check/win32/x11drv.api b/tools/winapi_check/win32/x11drv.api
index 3b90022..67a6c9c 100644
--- a/tools/winapi_check/win32/x11drv.api
+++ b/tools/winapi_check/win32/x11drv.api
@@ -30,6 +30,7 @@
 LPDIDEVICEOBJECTDATA
 LPDWORD
 LPMOUSE_EVENT_PROC
+LPPOINT
 LPRECT
 LPVOID
 RECT *
diff --git a/tools/winapi_check/winapi.pm b/tools/winapi_check/winapi.pm
index f462941..968a721 100644
--- a/tools/winapi_check/winapi.pm
+++ b/tools/winapi_check/winapi.pm
@@ -286,8 +286,16 @@
 	    $ordinal = $1;
 
 	    # FIXME: Internal name existing more than once not handled properly
-	    $$function_internal_name{$external_name} = $internal_name;
-	    $$function_external_name{$internal_name} = $external_name;
+	    if(!$$function_internal_name{$external_name}) {
+		$$function_internal_name{$external_name} = $internal_name;
+	    } else {
+		$$function_internal_name{$external_name} .= " & $internal_name";
+	    }
+	    if(!$$function_external_name{$internal_name}) {
+		$$function_external_name{$internal_name} = $external_name;
+	    } else {
+		$$function_external_name{$internal_name} .= " & $external_name";
+	    }
 	    $$function_internal_arguments{$internal_name} = $arguments;
 	    $$function_external_arguments{$external_name} = $arguments;
 	    if(!$$function_internal_ordinal{$internal_name}) {
@@ -304,12 +312,12 @@
 	    $$function_external_calling_convention{$external_name} = $calling_convention;
 	    if(!$$function_internal_module{$internal_name}) {
 		$$function_internal_module{$internal_name} = "$module";
-	    } else { # if($$function_internal_module{$internal_name} !~ /$module/) {
+	    } else {
 		$$function_internal_module{$internal_name} .= " & $module";
 	    }
 	    if(!$$function_external_module{$external_name}) {
 		$$function_external_module{$external_name} = "$module";
-	    } else { # if($$function_external_module{$external_name} !~ /$module/) {
+	    } else {
 		$$function_external_module{$external_name} .= " & $module";
 	    }
 
diff --git a/tools/winapi_check/winapi_check b/tools/winapi_check/winapi_check
index 0a93654..1222819 100755
--- a/tools/winapi_check/winapi_check
+++ b/tools/winapi_check/winapi_check
@@ -265,7 +265,13 @@
 		my $module = $winapi->function_internal_module($internal_name);
 		if(!defined($module)) { next }
 
+		# FIXME: Not correct
 		my $external_name = $winapi->function_external_name($internal_name);
+
+		if(defined($external_name)) {
+		    $external_name = (split(/\s*&\s*/, $external_name))[0];
+		}
+
 		# FIXME: Kludge because of the THUNK variants
 		if(!defined($external_name)) {
 		    next;
@@ -411,6 +417,16 @@
 	    $prefix .= "$internal_name(" . join(",", @argument_types) . "): ";
 	    $output->prefix($prefix);
 
+	    # FIXME: Not correct
+	    if(defined($external_name16)) {
+		$external_name16 = (split(/\s*&\s*/, $external_name16))[0];
+	    }
+	    
+	    # FIXME: Not correct
+	    if(defined($external_name32)) {
+		$external_name32 = (split(/\s*&\s*/, $external_name32))[0];
+	    }
+
 	    if($options->local && $options->misplaced &&
 	       $linkage ne "extern" && $statements) 
 	    {
diff --git a/tools/winapi_check/winapi_documentation.pm b/tools/winapi_check/winapi_documentation.pm
index a413a00..eadcaa9 100644
--- a/tools/winapi_check/winapi_documentation.pm
+++ b/tools/winapi_check/winapi_documentation.pm
@@ -21,6 +21,16 @@
     my $documentation = $function->documentation;
     my @argument_documentations = @{$function->argument_documentations};
 
+    # FIXME: Not correct
+    if(defined($external_name16)) {
+	$external_name16 = (split(/\s*&\s*/, $external_name16))[0];
+    }
+    
+    # FIXME: Not correct
+    if(defined($external_name32)) {
+	$external_name32 = (split(/\s*&\s*/, $external_name32))[0];
+    }
+
     my $external_name;
     my $name1;
     my $name2;
diff --git a/tools/winapi_check/winapi_local.pm b/tools/winapi_check/winapi_local.pm
index 86f7042..ff58b23 100644
--- a/tools/winapi_check/winapi_local.pm
+++ b/tools/winapi_check/winapi_local.pm
@@ -257,16 +257,20 @@
 			    $format =~ s/^\'(.*?)\'$/$1/;
 			    $format =~ s/^\\\"(.*?)\\\"$/$1/;
 
-			    if($argument !~ /$name/) {
-				$output->write("$called_name: argument $n is wrong ($name != '$argument')\n");
-			    } elsif(!$winapi->is_allowed_type_format($module, $type, $format)) {
-				$output->write("$called_name: argument $n ($type $name) has illegal format ($format)\n");
+			    if($options->debug_messages) {
+				if($argument !~ /$name/) {
+				    $output->write("$called_name: argument $n is wrong ($name != '$argument')\n");
+				} elsif(!$winapi->is_allowed_type_format($module, $type, $format)) {
+				    $output->write("$called_name: argument $n ($type $name) has illegal format ($format)\n");
+				}
 			    }
 			}
 
-			my $count = $#{$function->argument_types} + 1; 
-			if($n != $count) {
-			    $output->write("$called_name: argument count mismatch ($n != $count)\n");
+			if($options->debug_messages) {
+			    my $count = $#{$function->argument_types} + 1; 
+			    if($n != $count) {
+				$output->write("$called_name: argument count mismatch ($n != $count)\n");
+			    }
 			}
 		    }
 		}
