diff --git a/loader/module.c b/loader/module.c
index 836337e97a..875546b804 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -1002,7 +1002,7 @@ FARPROC MODULE_GetProcAddress(
 	fprintf(stderr,"theQuickTimeDispatcher catched -> %p\n",retproc);
       report_entry = report_func;
       report_ret   = report_func_ret;
-      wrapper_target=retproc;
+      wrapper_target=(void(*)(void))retproc;
       retproc=(FARPROC)wrapper;
     }
 
diff --git a/loader/win32.c b/loader/win32.c
index ce539a34f3..964a9a06d5 100644
--- a/loader/win32.c
+++ b/loader/win32.c
@@ -863,7 +863,7 @@ static void* WINAPI expWaitForMultipleObjects(int count, const void** objects,
     
     for (i = 0; i < count; i++)
     {
-	object = objects[i];
+	object = (void *)objects[i];
 	ret = expWaitForSingleObject(object, duration);
 	if (WaitAll)
 	    dbgprintf("WaitAll flag not yet supported...\n");
@@ -1943,7 +1943,7 @@ static DWORD WINAPI expRegQueryInfoKeyA( HKEY hkey, LPSTR class, LPDWORD class_l
                                          LPDWORD values, LPDWORD max_value, LPDWORD max_data,
                                          LPDWORD security, FILETIME *modif )
 {
-    return;
+    return ERROR_SUCCESS;
 }
 
 /*
@@ -3645,7 +3645,7 @@ static DWORD WINAPI expGetFullPathNameA
     if (strrchr(lpFileName, '\\'))
 	lpFilePart = strrchr(lpFileName, '\\');
     else
-	lpFilePart = lpFileName;
+	lpFilePart = (LPTSTR)lpFileName;
 #endif
     strcpy(lpBuffer, lpFileName);
 //    strncpy(lpBuffer, lpFileName, rindex(lpFileName, '\\')-lpFileName);
diff --git a/loader/wine/vfw.h b/loader/wine/vfw.h
index cfaf46ee8d..689e712ee3 100644
--- a/loader/wine/vfw.h
+++ b/loader/wine/vfw.h
@@ -19,17 +19,17 @@ typedef struct __attribute__((__packed__))
 #define _BITMAPINFOHEADER_
 typedef struct __attribute__((__packed__))
 {
-    int 	biSize;
-    int  	biWidth;
-    int  	biHeight;
+    long 	biSize;
+    long  	biWidth;
+    long  	biHeight;
     short 	biPlanes;
     short 	biBitCount;
-    int 	biCompression;
-    int 	biSizeImage;
-    int  	biXPelsPerMeter;
-    int  	biYPelsPerMeter;
-    int 	biClrUsed;
-    int 	biClrImportant;
+    long 	biCompression;
+    long 	biSizeImage;
+    long  	biXPelsPerMeter;
+    long  	biYPelsPerMeter;
+    long 	biClrUsed;
+    long 	biClrImportant;
 } BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER;
 typedef struct {
 	BITMAPINFOHEADER bmiHeader;
diff --git a/loader/wine/windef.h b/loader/wine/windef.h
index 51b1034eae..8d6a42e229 100644
--- a/loader/wine/windef.h
+++ b/loader/wine/windef.h
@@ -156,8 +156,8 @@ typedef void            VOID;
 typedef int             INT;
 typedef unsigned int    UINT;
 typedef unsigned short  WORD;
-typedef unsigned int    DWORD;
-typedef unsigned int    ULONG;
+typedef unsigned long   DWORD;
+typedef unsigned long   ULONG;
 typedef unsigned char   BYTE;
 typedef long            LONG;
 typedef short           SHORT;