diff --git a/libc3/buf_parse.c b/libc3/buf_parse.c
index 44c5f0b..9608d41 100644
--- a/libc3/buf_parse.c
+++ b/libc3/buf_parse.c
@@ -671,7 +671,7 @@ sw buf_parse_call_op_unary (s_buf *buf, s_call *dest)
if ((r = buf_ignore_spaces(buf)) < 0)
goto restore;
result += r;
- if ((r = buf_parse_tag_primary(buf, &tmp.arguments->tag)) <= 0)
+ if ((r = buf_parse_tag(buf, &tmp.arguments->tag)) <= 0)
goto restore;
result += r;
*dest = tmp;
diff --git a/test/ic3/array.in b/test/ic3/array.in
index a4e17ba..f80d93d 100644
--- a/test/ic3/array.in
+++ b/test/ic3/array.in
@@ -5,3 +5,11 @@
{2, 3}},
{{4, 5},
{6, 7}}}
+(u8) {{{{0, 1},
+ {2, 3}},
+ {{4, 5},
+ {6, 7}}},
+ {{{8, 9},
+ {10, 11}},
+ {{12, 13},
+ {14, 15}}}}
diff --git a/test/ic3/array.out.expected b/test/ic3/array.out.expected
index ebe727d..2171adb 100644
--- a/test/ic3/array.out.expected
+++ b/test/ic3/array.out.expected
@@ -1,3 +1,4 @@
(u8) {0, 1}
(u8) {{0, 1}, {2, 3}}
(u8) {{{0, 1}, {2, 3}}, {{4, 5}, {6, 7}}}
+(u8) {{{{0, 1}, {2, 3}}, {{4, 5}, {6, 7}}}, {{{8, 9}, {10, 11}}, {{12, 13}, {14, 15}}}}
diff --git a/test/ic3/bool.in b/test/ic3/bool.in
index 1254e98..4f7022c 100644
--- a/test/ic3/bool.in
+++ b/test/ic3/bool.in
@@ -12,6 +12,8 @@ true || false
true || true
! false
! true
+! ! false
+! ! true
1 < 1
1 < 2
2 < 1
diff --git a/test/ic3/bool.out.expected b/test/ic3/bool.out.expected
index 857a31a..d6c1644 100644
--- a/test/ic3/bool.out.expected
+++ b/test/ic3/bool.out.expected
@@ -16,6 +16,8 @@ false
true
false
true
+false
+true
true
false
true