diff --git a/auto3/auto3.h b/auto3/auto3.h
index 24a26cb3126e0a782d682471924f0f9721520a52..10945d1f0d76897a158d836baf64a98b25aff605 100644
--- a/auto3/auto3.h
+++ b/auto3/auto3.h
@@ -37,9 +37,17 @@
 
 #include <stdlib.h>
 #ifdef AUTO3LIB
+
+#ifdef __WINDOWS__
 #include "lua/include/lua.h"
 #include "lua/include/lualib.h"
 #include "lua/include/lauxlib.h"
+#else
+#include "lua.h"
+#include "lualib.h"
+#include "lauxlib.h"
+#endif
+
 #endif
 
 
diff --git a/configure.in b/configure.in
index a44830fd26a0a8e0468925b0b2fb2639da247496..d864853dcc4bfb3a593239f171086326a2ce1e85 100644
--- a/configure.in
+++ b/configure.in
@@ -435,12 +435,12 @@ AC_ARG_WITH(lua50-include,
 
 if ! test -z "$lua50_lib_dir" && ! test -z "$lua50_include_dir"; then
   aegisub_save_LDFLAGS="$LDFLAGS"
-  LDFLAGS="-L$lua50_lib_dir"
-  AC_CHECK_LIB([lua], [lua_call],[LUA50_LDFLAGS="$lua50_lib_dir -llua"; lua50_lib="yes"], [lua50_lib="no"])
+  LDFLAGS="$lua50_lib_dir -llua"
+  AC_CHECK_LIB([lualib], [luaopen_base], [LUA50_LDFLAGS="$lua50_lib_dir -llua -llualib"; lua50_lib="yes"], [lua50_lib="no"])
   LDFLAGS="$aegisub_save_LDFLAGS"
 
   aegisub_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="-I$lua50_include_dir"
+  CPPFLAGS="$lua50_include_dir"
   AC_CHECK_HEADER([lua.h],[LUA50_CPPFLAGS="$lua50_include_dir"; lua50_include="yes"],[lua50_include="no"])
   CPPFLAGS="$aegisub_save_CPPFLAGS"
 fi