diff --git a/libc3/buf_parse.c b/libc3/buf_parse.c
index cb69aec..29f60e4 100644
--- a/libc3/buf_parse.c
+++ b/libc3/buf_parse.c
@@ -1957,6 +1957,7 @@ sw buf_parse_map_key (s_buf *buf, s_tag *dest)
result += r;
if ((r = buf_read_1(buf, "=>")) <= 0)
goto restore;
+ result += r;
dest->type = TAG_STR;
dest->data.str = str;
goto ok;
@@ -1965,6 +1966,9 @@ sw buf_parse_map_key (s_buf *buf, s_tag *dest)
goto clean;
if (r > 0) {
result += r;
+ if ((r = buf_read_1(buf, ":")) <= 0)
+ goto restore;
+ result += r;
dest->type = TAG_SYM;
dest->data.sym = str_to_sym(&str);
str_clean(&str);
diff --git a/test/ic3_test b/test/ic3_test
index ce0790e..b80a024 100755
--- a/test/ic3_test
+++ b/test/ic3_test
@@ -64,6 +64,7 @@ DIFFS="$(for TARGET in $TARGETS; do
fi
done)"
if [ "x$DIFFS" != "x" ]; then
+ ls $DIFFS
less $DIFFS || cat $DIFFS
fi
echo