diff --git a/debugger/winedbg.c b/debugger/winedbg.c
index 8a70716fdec220eb4c00bd6a2c7c559125099c3f..cac80a8d9bc7ad36c877cdbbd7562bd444c65aa6 100644
--- a/debugger/winedbg.c
+++ b/debugger/winedbg.c
@@ -988,6 +988,10 @@ int main(int argc, char** argv)
     DWORD	retv = 0;
     unsigned    gdb_flags = 0;
 
+    /* Initialize the type handling stuff. */
+    DEBUG_InitTypes();
+    DEBUG_InitCVDataTypes();
+
     /* Initialize internal vars (types must have been initialized before) */
     if (!DEBUG_IntVarsRW(TRUE)) return -1;
 
@@ -1103,10 +1107,6 @@ int main(int argc, char** argv)
     if (local_mode == gdb_mode && DEBUG_CurrPid)
         return DEBUG_GdbRemote(gdb_flags);
 
-    /* Initialize the type handling stuff. */
-    DEBUG_InitTypes();
-    DEBUG_InitCVDataTypes();
-
     DEBUG_InitConsole();
 
     retv = DEBUG_MainLoop();