diff --git a/tools/parse.c b/tools/parse.c
index f48d257831fdab08589cb5f113b1e14d9552e1d9..292c6ce8bae486f90702777abe82758a4543655c 100644
--- a/tools/parse.c
+++ b/tools/parse.c
@@ -72,7 +72,7 @@ sexp_check_token(struct sexp_parser *parser,
 		 parser->transport ? SEXP_CANONICAL : parser->mode,
 		 string);
 
-  if (token && parser->input->token != token)
+  if (parser->input->token != token)
     die("Syntax error.\n");
 }
 
@@ -141,6 +141,10 @@ sexp_parse(struct sexp_parser *parser,
 	  token->type = SEXP_STRING;
 	  goto check_transport_end;
 
+	case SEXP_COMMENT:
+	  token->type = SEXP_COMMENT;
+	  return;
+
 	case SEXP_TRANSPORT_START:
 	  if (parser->mode == SEXP_CANONICAL)
 	    die("Base64 not allowed in canonical mode.\n");