diff --git a/dlls/kernel/wowthunk.c b/dlls/kernel/wowthunk.c
index 194cab6755bb5969e108a287b556c1dfd96f860d..82073861601306beed0b51869a1d9a3f1183a0e2 100644
--- a/dlls/kernel/wowthunk.c
+++ b/dlls/kernel/wowthunk.c
@@ -415,7 +415,7 @@ static DWORD WOW_CallProc32W16( BOOL Ex )
     DWORD *args, ret;
     DWORD mutex_count;
     VA_LIST16 valist;
-    int i;
+    unsigned int i;
     int aix;
 
     ReleaseThunkLock( &mutex_count );
@@ -486,6 +486,10 @@ static DWORD WOW_CallProc32W16( BOOL Ex )
             break;
     case 13:ret = proc32(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12]);
             break;
+    case 14:ret = proc32(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13]);
+            break;
+    case 15:ret = proc32(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8],args[9],args[10],args[11],args[12],args[13],args[14]);
+            break;
     default:
             /* FIXME: should go up to 32  arguments */
             ERR("Unsupported number of arguments %ld, please report.\n",nrofargs);