diff --git a/configure.ac b/configure.ac
index 6d038eec36ab10f149033160aefb4e57cef6430a..686169266b8f71f4842b841d0de8fac462a15a04 100644
--- a/configure.ac
+++ b/configure.ac
@@ -221,6 +221,11 @@ AX_BOOST_REGEX
 AX_BOOST_SYSTEM
 AX_BOOST_THREAD
 
+cppflags_bak="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
+AC_CHECK_HEADERS([boost/spirit/home/phoenix/version.hpp])
+CPPFLAGS=$cppflags_bak
+
 PKG_CHECK_MODULES(ICU_UC, icu-uc >= icu_required_version)
 PKG_CHECK_MODULES(ICU_I18N, icu-i18n >= icu_required_version)
 
diff --git a/libaegisub/common/parser.cpp b/libaegisub/common/parser.cpp
index b4b51b5f2ac301f385f43b5e78213bde399707bd..bb7e73a0b375150a453b2ab2e3960e4516bb9166 100644
--- a/libaegisub/common/parser.cpp
+++ b/libaegisub/common/parser.cpp
@@ -27,7 +27,14 @@
 #include <boost/spirit/include/phoenix_fusion.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
 #include <boost/spirit/include/lex_lexertl.hpp>
+
+// We have to use the copy of pheonix within spirit if it exists, as the
+// standalone copy has different header guards
+#ifdef HAVE_BOOST_SPIRIT_HOME_PHOENIX_VERSION_HPP
 #include <boost/spirit/home/phoenix/statement.hpp>
+#else
+#include <boost/phoenix/statement.hpp>
+#endif
 
 BOOST_FUSION_ADAPT_STRUCT(
 	agi::Color,