diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g
index f534a84a5b77d37af24a017b4720ee90bb7ce792..932d3e179b4ce6f460b3d6fc32306d662256ca0a 100644
--- a/libwccl/parser/grammar.g
+++ b/libwccl/parser/grammar.g
@@ -1329,17 +1329,16 @@ bool_ann
 {
 	boost::shared_ptr< Function<Match> > match_from;
 	boost::shared_ptr< Function<Match> > match_to;
-	std::string chan_name;
 }
 	: "ann" LPAREN
 			match_from = match_operator [scope] COMMA
 			(match_to  = match_operator [scope] COMMA)?
-			name : STRING
+			channel : STRING
 		RPAREN {
 			if (match_to) {
-				op.reset(new Ann(match_from, match_to, chan_name));
+				op.reset(new Ann(match_from, match_to, token_ref_to_std_string(channel)));
 			} else {
-				op.reset(new Ann(match_from, chan_name));
+				op.reset(new Ann(match_from, token_ref_to_std_string(channel)));
 			}
 		}
 ;
@@ -1353,18 +1352,17 @@ bool_annsub
 {
 	boost::shared_ptr< Function<Match> > match_from;
 	boost::shared_ptr< Function<Match> > match_to;
-	std::string chan_name;
 }
 	: "annsub" LPAREN
 		match_from = match_operator [scope] COMMA
 		(match_to = match_operator [scope] COMMA)?
-		name : STRING
+		channel : STRING
 		RPAREN
 		{
 			if (match_to) {
-				op.reset(new AnnSub(match_from, match_to, chan_name));
+				op.reset(new AnnSub(match_from, match_to, token_ref_to_std_string(channel)));
 			} else {
-				op.reset(new AnnSub(match_from, chan_name));
+				op.reset(new AnnSub(match_from, token_ref_to_std_string(channel)));
 			}
 		}
 ;