diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g
index 505b988f70d875a0e2a5ff112750dad6988c1ee6..181c3446d29268abdee6ca4a97c2b1de79bf836f 100644
--- a/libwccl/parser/grammar.g
+++ b/libwccl/parser/grammar.g
@@ -656,7 +656,7 @@ op_orth
 ;
 // ----------------------------------------------------------------------------
 op_base 
-	[const Corpus2::Tagset& tagset, Wccl::Variables& vars]
+	[const Corpus2::Tagset& /*tagset*/, Wccl::Variables& vars]
 	returns [boost::shared_ptr<Wccl::Function<Wccl::StrSet> > ret]
 {
 	boost::shared_ptr<Wccl::VarGetter<Wccl::Position> > pos;
@@ -703,7 +703,7 @@ op_affix
 ;
 // ----------------------------------------------------------------------------
 op_str_set
-	[const Corpus2::Tagset& tagset, Wccl::Variables& vars]
+	[const Corpus2::Tagset& /*tagset*/, Wccl::Variables& vars]
 	returns [boost::shared_ptr<Wccl::Function<Wccl::StrSet> > op]
 	: op = str_set_variable [vars]
 	| op = str_set_value 
@@ -818,7 +818,7 @@ lpred_nor
 ;
 // ----------------------------------------------------------------------------
 lpred_bool
-	[const Corpus2::Tagset& tagset, Wccl::Variables& vars]
+	[const Corpus2::Tagset& /*tagset*/, Wccl::Variables& vars]
 	returns [boost::shared_ptr<Wccl::Function<Wccl::Bool> > op]
 	: op = boolean_variable [vars]
 	| op = boolean_value 
diff --git a/libwccl/values/position.h b/libwccl/values/position.h
index 747beda772a203f7d7cddcceca5edf782db5be6d..fed7a414ed5369acf13a6c909b4e714db93ef26d 100644
--- a/libwccl/values/position.h
+++ b/libwccl/values/position.h
@@ -14,17 +14,17 @@ class Position : public Value
 public:
 	WCCL_VALUE_PREAMBLE
 
-	explicit Position(int v = 0)
-		: val_(v)
-	{
-	}
-
 	typedef int value_type;
 
 	static const int Nowhere = boost::integer_traits<int>::const_min;
 	static const int Begin = boost::integer_traits<int>::const_min + 1;
 	static const int End = boost::integer_traits<int>::const_max;
 
+	explicit Position(int v = Nowhere)
+		: val_(v)
+	{
+	}
+
 	const int& get_value() const {
 		return val_;
 	}
diff --git a/tests/variables.cpp b/tests/variables.cpp
index d39cf0f0a439f7670dfa5208cce3f4479a1c1d5f..31079d11a28775eebdae8fe777d0724c6415487d 100644
--- a/tests/variables.cpp
+++ b/tests/variables.cpp
@@ -170,9 +170,9 @@ BOOST_FIXTURE_TEST_CASE(reset_values, Vfix)
 	v.reset_values();
 	BOOST_CHECK_EQUAL(v.get_value<Bool>("b1"), false);
 	BOOST_CHECK_EQUAL(v.get_value<Bool>("b2"), false);
-	BOOST_CHECK_EQUAL(v.get_value<Position>("p1"), 0);
-	BOOST_CHECK_EQUAL(v.get_value<Position>("p2"), 0);
-	BOOST_CHECK_EQUAL(v.get_value<Position>("p3"), 0);
+	BOOST_CHECK_EQUAL(v.get_value<Position>("p1"), Position::Nowhere);
+	BOOST_CHECK_EQUAL(v.get_value<Position>("p2"), Position::Nowhere);
+	BOOST_CHECK_EQUAL(v.get_value<Position>("p3"), Position::Nowhere);
 }
 
 BOOST_FIXTURE_TEST_CASE(clone, Vfix)