diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index b43337a756b8000de096df4ce316abe74fc01f2a..e0f78892738006957cc05f1a797919c7012d6006 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -599,8 +599,7 @@ static UINT find_published_source(MSIPACKAGE *package, struct media_info *mi)
     WCHAR volume[MAX_PATH];
     WCHAR prompt[MAX_PATH];
     DWORD volumesz, promptsz;
-    DWORD index, size;
-    WORD id;
+    DWORD index, size, id;
     UINT r;
 
     r = MsiSourceListGetInfoW(package->ProductCode, NULL,
diff --git a/dlls/msi/source.c b/dlls/msi/source.c
index 1d90ad82b4f4ba1bcee491aad176bb963a967d9f..f50d545ce9558c917ec6c953adbac5f845007eef 100644
--- a/dlls/msi/source.c
+++ b/dlls/msi/source.c
@@ -145,7 +145,7 @@ static UINT OpenURLSubkey(HKEY rootkey, HKEY *key, BOOL create)
  */
 UINT WINAPI MsiSourceListEnumMediaDisksA(LPCSTR szProductCodeOrPatchCode,
                                          LPCSTR szUserSid, MSIINSTALLCONTEXT dwContext,
-                                         DWORD dwOptions, DWORD dwIndex, LPWORD pdwDiskId,
+                                         DWORD dwOptions, DWORD dwIndex, LPDWORD pdwDiskId,
                                          LPSTR szVolumeLabel, LPDWORD pcchVolumeLabel,
                                          LPSTR szDiskPrompt, LPDWORD pcchDiskPrompt)
 {
@@ -204,7 +204,7 @@ done:
  */
 UINT WINAPI MsiSourceListEnumMediaDisksW(LPCWSTR szProductCodeOrPatchCode,
                                          LPCWSTR szUserSid, MSIINSTALLCONTEXT dwContext,
-                                         DWORD dwOptions, DWORD dwIndex, LPWORD pdwDiskId,
+                                         DWORD dwOptions, DWORD dwIndex, LPDWORD pdwDiskId,
                                          LPWSTR szVolumeLabel, LPDWORD pcchVolumeLabel,
                                          LPWSTR szDiskPrompt, LPDWORD pcchDiskPrompt)
 {
diff --git a/dlls/msi/tests/source.c b/dlls/msi/tests/source.c
index 5f75159165756761e6d2dcf78c5c5bf906569fcc..b109315980acf11f507a0e9aa18a5ff41aea89a9 100644
--- a/dlls/msi/tests/source.c
+++ b/dlls/msi/tests/source.c
@@ -36,7 +36,7 @@ static UINT (WINAPI *pMsiSourceListAddMediaDiskA)
 static UINT (WINAPI *pMsiSourceListAddSourceExA)
     (LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, LPCSTR, DWORD);
 static UINT (WINAPI *pMsiSourceListEnumMediaDisksA)
-    (LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPWORD, LPSTR,
+    (LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPDWORD, LPSTR,
     LPDWORD, LPSTR, LPDWORD);
 static UINT (WINAPI *pMsiSourceListEnumSourcesA)
     (LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPSTR, LPDWORD);
@@ -2297,7 +2297,7 @@ static void test_MsiSourceListEnumMediaDisks(void)
     DWORD labelsz, promptsz;
     LPSTR usersid;
     DWORD val;
-    WORD id;
+    DWORD id;
     LONG res;
     UINT r;
 
diff --git a/include/msi.h b/include/msi.h
index 07ac32d910f2cc7ad9111558bf2ef2c584da7310..1ffce4ecca0bed27e2eb6b3e828c516e177f6102 100644
--- a/include/msi.h
+++ b/include/msi.h
@@ -545,9 +545,9 @@ UINT WINAPI MsiSourceListAddSourceA(LPCSTR, LPCSTR, DWORD, LPCSTR);
 UINT WINAPI MsiSourceListAddSourceW(LPCWSTR, LPCWSTR, DWORD, LPCWSTR);
 #define     MsiSourceListAddSource WINELIB_NAME_AW(MsiSourceListAddSource)
 
-UINT WINAPI MsiSourceListEnumMediaDisksA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPWORD,
+UINT WINAPI MsiSourceListEnumMediaDisksA(LPCSTR, LPCSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPDWORD,
                                          LPSTR, LPDWORD, LPSTR, LPDWORD);
-UINT WINAPI MsiSourceListEnumMediaDisksW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPWORD,
+UINT WINAPI MsiSourceListEnumMediaDisksW(LPCWSTR, LPCWSTR, MSIINSTALLCONTEXT, DWORD, DWORD, LPDWORD,
                                          LPWSTR, LPDWORD, LPWSTR, LPDWORD);
 #define     MsiSourceListEnumMediaDisks WINELIB_NAME_AW(MsiSourceListEnumMediaDisks)