diff --git a/mingw-w64-tools/widl/src/widl.c b/mingw-w64-tools/widl/src/widl.c
index a99eed4e9..69cb4b628 100644
--- a/mingw-w64-tools/widl/src/widl.c
+++ b/mingw-w64-tools/widl/src/widl.c
@@ -42,6 +42,7 @@
 #include "parser.h"
 #include "wine/wpp.h"
 #include "header.h"
+#include "pathtools.h"
 
 static const char usage[] =
 "Usage: widl [options...] infile.idl\n"
@@ -596,7 +597,7 @@ static void init_argv0_dir( const char *argv0 )
 
 int main(int argc,char *argv[])
 {
-  int i, optc;
+  int optc;
   int ret = 0;
   int opti = 0;
   char *output_name = NULL;
@@ -772,19 +773,12 @@ int main(int argc,char *argv[])
 
   if (stdinc)
   {
-      static const char *incl_dirs[] = { INCLUDEDIR, "/usr/include", "/usr/local/include" };
-
-      if (includedir)
-      {
-          wpp_add_include_path( strmake( "%s/wine/msvcrt", includedir ));
-          wpp_add_include_path( strmake( "%s/wine/windows", includedir ));
-      }
-      for (i = 0; i < ARRAY_SIZE(incl_dirs); i++)
-      {
-          if (i && !strcmp( incl_dirs[i], incl_dirs[0] )) continue;
-          wpp_add_include_path( strmake( "%s%s/wine/msvcrt", sysroot, incl_dirs[i] ));
-          wpp_add_include_path( strmake( "%s%s/wine/windows", sysroot, incl_dirs[i] ));
+      char exe_path[PATH_MAX];
+      get_executable_path (argv[0], &exe_path[0], sizeof (exe_path) / sizeof (exe_path[0]));
+      if (strrchr (exe_path, '/') != NULL) {
+          strrchr (exe_path, '/')[1] = '\0';
       }
+      wpp_add_include_path(strmake("%s%s/%s", sysroot, exe_path, BIN_TO_INCLUDEDIR));
   }
 
   switch (target_cpu)
