diff --git a/libwccl/ops/functions/tset/getsymbols.h b/libwccl/ops/functions/tset/getsymbols.h
index 988f741801daaa7ad1f8b5a1b5f77c8b180fe9a4..df1247242714e0fdac6f6becf23e576ea9b3e71e 100644
--- a/libwccl/ops/functions/tset/getsymbols.h
+++ b/libwccl/ops/functions/tset/getsymbols.h
@@ -14,8 +14,8 @@ class GetSymbols : public Function<TSet> {
 public:
 	typedef boost::shared_ptr<Function<Position> > PosFunctionPtr;
 
-	GetSymbols(const PosFunctionPtr& pos_expr, const Corpus2::Tag& mask)
-		: pos_expr_(pos_expr), mask_(mask)
+	GetSymbols(const Corpus2::Tag& mask, const PosFunctionPtr& pos_expr)
+		: mask_(mask), pos_expr_(pos_expr)
 	{
 		BOOST_ASSERT(pos_expr_);
 	}
@@ -39,9 +39,10 @@ public:
 	std::string name(const Corpus2::Tagset& tagset) const;
 
 protected:
+	Corpus2::Tag mask_;
+
 	const PosFunctionPtr pos_expr_;
 
-	Corpus2::Tag mask_;
 
 	/**
 	 * Gets a position from the argument expression, then gets the
diff --git a/tests/getsymbols.cpp b/tests/getsymbols.cpp
index 8f51eaddb36e70ff286618056b020e034fceef2c..ad5ac6a5f31303b55aa15e052b8ef5b7d0e9eda6 100644
--- a/tests/getsymbols.cpp
+++ b/tests/getsymbols.cpp
@@ -65,17 +65,17 @@ struct SymbolsFix
 
 BOOST_FIXTURE_TEST_CASE(symbols_nowhere, SymbolsFix)
 {
-	GetSymbols symbols(nowhere_constant, gnd);
+	GetSymbols symbols(gnd, nowhere_constant);
 	BOOST_CHECK(symbols.apply(cx)->equals(empty));
-	GetSymbols s2(nowhere_constant, nmb);
+	GetSymbols s2(nmb, nowhere_constant);
 	BOOST_CHECK(s2.apply(cx)->equals(empty));
-	GetSymbols s3(nowhere_constant, pos);
+	GetSymbols s3(pos, nowhere_constant);
 	BOOST_CHECK(s3.apply(cx)->equals(empty));
 }
 
 BOOST_FIXTURE_TEST_CASE(get_gnd, SymbolsFix)
 {
-	GetSymbols symbols(pos_zero_constant, gnd);
+	GetSymbols symbols(gnd, pos_zero_constant);
 	BOOST_CHECK_EQUAL(symbols.apply(cx)->to_string(tagset), "{m1,m2}");
 	sc.advance();
 	BOOST_CHECK_EQUAL(symbols.apply(cx)->to_string(tagset), "{f}");
@@ -85,7 +85,7 @@ BOOST_FIXTURE_TEST_CASE(get_gnd, SymbolsFix)
 
 BOOST_FIXTURE_TEST_CASE(get_nmb, SymbolsFix)
 {
-	GetSymbols symbols(pos_zero_constant, nmb);
+	GetSymbols symbols(nmb, pos_zero_constant);
 	BOOST_CHECK_EQUAL(symbols.apply(cx)->to_string(tagset), "{sg}");
 	sc.advance();
 	BOOST_CHECK_EQUAL(symbols.apply(cx)->to_string(tagset), "{pl}");
@@ -95,7 +95,7 @@ BOOST_FIXTURE_TEST_CASE(get_nmb, SymbolsFix)
 
 BOOST_FIXTURE_TEST_CASE(get_vcl, SymbolsFix)
 {
-	GetSymbols symbols(pos_zero_constant, vcl);
+	GetSymbols symbols(vcl, pos_zero_constant);
 	BOOST_CHECK_EQUAL(symbols.apply(cx)->to_string(tagset), "{}");
 	sc.advance();
 	BOOST_CHECK_EQUAL(symbols.apply(cx)->to_string(tagset), "{wok}");
@@ -105,7 +105,7 @@ BOOST_FIXTURE_TEST_CASE(get_vcl, SymbolsFix)
 
 BOOST_FIXTURE_TEST_CASE(get_pos, SymbolsFix)
 {
-	GetSymbols symbols(pos_zero_constant, pos);
+	GetSymbols symbols(pos, pos_zero_constant);
 	BOOST_CHECK_EQUAL(symbols.apply(cx)->to_string(tagset), "{subst}");
 	sc.advance();
 	BOOST_CHECK_EQUAL(symbols.apply(cx)->to_string(tagset), "{adja,prep,subst}");