diff --git a/libwccl/parser/grammar.g b/libwccl/parser/grammar.g
index 9a0128e241edaf1634236bea92d110fcc4b9fe72..9bb435f7965b9e84772c38b9a90a034e0a67c5c8 100644
--- a/libwccl/parser/grammar.g
+++ b/libwccl/parser/grammar.g
@@ -521,12 +521,9 @@ condit_sym
 			}
 		}
 	| Q_MARK 
-			(p_true = sym_set_operators [tagset, vars] | 
-			 p_true = condit_sym [tagset, vars])
+			(p_true = sym_set_operators [tagset, vars])
 		Q_MARK 
-			(test = logical_predicates [tagset, vars] | 
-			 test = condit_bool [tagset, vars])
-		{
+			(test = logical_predicates [tagset, vars]) {
 			op.reset(new Wccl::Conditional<Wccl::TSet>(test, p_true));
 		}
 ;
@@ -652,12 +649,9 @@ condit_str
 		}
 	}
 	| Q_MARK 
-			(p_true = string_operators [tagset, vars] | 
-			 p_true = condit_str [tagset, vars])
+			p_true = string_operators [tagset, vars]
 		Q_MARK 
-			(test = logical_predicates [tagset, vars] | 
-			 test = condit_bool [tagset, vars])
-		{
+			test = logical_predicates [tagset, vars] {
 			op.reset(new Wccl::Conditional<Wccl::StrSet>(test, p_true));
 		}
 ;
@@ -900,12 +894,9 @@ condit_bool
 		}
 	}
 	| Q_MARK 
-			(p_true = logical_predicates [tagset, vars] | 
-			 p_true = condit_bool [tagset, vars])
+			p_true = logical_predicates [tagset, vars]
 		Q_MARK 
-			(test = logical_predicates [tagset, vars] | 
-			 test = condit_bool [tagset, vars])
-		{
+			test = logical_predicates [tagset, vars] {
 			op.reset(new Wccl::Conditional<Wccl::Bool>(test, p_true));
 		}
 ;