diff --git a/pymbolic/mapper/evaluator.py b/pymbolic/mapper/evaluator.py
index f190a18e433243a326f72eb9ec4c533a6ebb8858..81e049787e9e3ee76b58f309c5bbdde8c9f68645 100644
--- a/pymbolic/mapper/evaluator.py
+++ b/pymbolic/mapper/evaluator.py
@@ -115,5 +115,3 @@ def evaluate_kw(expression, **context):
 
 def evaluate_to_float(expression, context={}):
     return FloatEvaluationMapper(context)(expression)
-    
-    
diff --git a/pymbolic/parser.py b/pymbolic/parser.py
index 5fc0d815118cfc46e115e522a73a427cb05a4960..bec133002d61a1d9079dfc611dd74af24b1daca4 100644
--- a/pymbolic/parser.py
+++ b/pymbolic/parser.py
@@ -63,13 +63,6 @@ def parse(expr_str):
         else:
             pstate.expected("terminal")
 
-    def parse_expr_list(pstate):
-        result = [parse_expression(pstate)]
-        while pstate.next_tag() is _comma:
-            pstate.advance()
-            result.append(parse_expression(pstate))
-        return result
-
     def parse_expression(pstate, min_precedence=0):
         pstate.expect_not_end()
 
@@ -99,8 +92,10 @@ def parse(expr_str):
                     pstate.advance()
                     left_exp = primitives.Call(left_exp, ())
                 else:
-                    left_exp = primitives.Call(left_exp, 
-                                             tuple(parse_expr_list(pstate)))
+                    args = parse_expression(pstate, _PREC_PLUS)
+                    if not isinstance(args, tuple):
+                        args = (args,)
+                    left_exp = primitives.Call(left_exp, args)
                     pstate.expect(_closepar)
                     pstate.advance()
                 did_something = True