diff --git a/src/path_parser.hpp b/src/path_parser.hpp
index 0334d12..6360912 100644
--- a/src/path_parser.hpp
+++ b/src/path_parser.hpp
@@ -128,11 +128,13 @@
 
 using AnyPath = boost::variant<schemaPath_, dataPath_>;
 
-struct PathParser : x3::parser<PathParser> {
+template <typename PathType>
+struct PathParser : x3::parser<PathParser<PathType>> {
+    using attribute_type = PathType;
     template <typename It, typename Ctx, typename RCtx, typename Attr>
     bool parse(It& begin, It end, Ctx const& ctx, RCtx& rctx, Attr& attr) const
     {
-        initializePath.parse(begin, end, ctx, rctx, attr);
+        initializePath.parse(begin, end, ctx, rctx, x3::unused);
         dataPath_ attrData;
 
         // absoluteStart has to be separate from the dataPath parser,
@@ -159,7 +161,7 @@
         }
         return res;
     }
-} const pathParser;
+};
 
 // Need to use these wrappers so that my PathParser class gets the proper
 // attribute. Otherwise, Spirit injects the attribute of the outer parser that
@@ -167,11 +169,9 @@
 // Example grammar: anyPath | module.
 // The PathParser class would get a boost::variant as the attribute, but I
 // don't want to deal with that, so I use these wrappers to ensure the
-// attribute I want (and let Spirit deal with boost::variant). Also, the
-// attribute gets passed to PathParser::parse via a template argument, so the
-// class doesn't even to need to be a template. Convenient!
-auto const anyPath = x3::rule<class anyPath_class, AnyPath>{"anyPath"} = pathParser;
-auto const dataPath = x3::rule<class dataPath_class, dataPath_>{"dataPath"} = pathParser;
+// attribute I want (and let Spirit deal with boost::variant).
+auto const anyPath = x3::rule<class anyPath_class, AnyPath>{"anyPath"} = PathParser<AnyPath>{};
+auto const dataPath = x3::rule<class dataPath_class, dataPath_>{"dataPath"} = PathParser<dataPath_>{};
 
 #if __clang__
 #pragma GCC diagnostic push
