diff --git a/libkc3/buf_parse.c b/libkc3/buf_parse.c
index ad2d11a..923e5ce 100644
--- a/libkc3/buf_parse.c
+++ b/libkc3/buf_parse.c
@@ -3660,8 +3660,9 @@ sw buf_parse_tag (s_buf *buf, s_tag *dest)
goto restore;
result += r;
}
- if ((r = buf_parse_tag_call_op(buf, dest)) != 0 ||
+ if ((r = buf_parse_tag_special_operator(buf, dest)) != 0 ||
(r = buf_parse_tag_brackets(buf, dest)) != 0 ||
+ (r = buf_parse_tag_call_op(buf, dest)) != 0 ||
(r = buf_parse_tag_primary(buf, dest)) != 0)
goto end;
end:
@@ -4008,7 +4009,6 @@ sw buf_parse_tag_primary_2 (s_buf *buf, s_tag *dest)
(r = buf_parse_tag_fn(buf, dest)) != 0 ||
(r = buf_parse_tag_struct(buf, dest)) != 0 ||
(r = buf_parse_tag_list(buf, dest)) != 0 ||
- (r = buf_parse_tag_special_operator(buf, dest)) != 0 ||
(r = buf_parse_tag_ident(buf, dest)) != 0 ||
(r = buf_parse_tag_sym(buf, dest)) != 0)
goto end;