diff --git a/src/lua/init.cc b/src/lua/init.cc
index 78e82997f961b20d5f59eb77d560f9326381acea..706252745735638faa5b52a5f2cbb2c4d8423375 100644
--- a/src/lua/init.cc
+++ b/src/lua/init.cc
@@ -950,7 +950,17 @@ tarantool_lua_printstack_yaml(struct lua_State *L, struct tbuf *out)
 			GCcdata *cd = cdataV(L->base + i - 1);
 			const char *sz = tarantool_lua_tostring(L, i);
 			int len = strlen(sz);
-			int chop = (cd->ctypeid == CTID_UINT64 ? 3 : 2);
+			int chop;
+			switch (cd->ctypeid){
+			case CTID_UINT64:
+				chop = 3;
+				break;
+			case CTID_INT64:
+				chop = 2;
+				break;
+			default:
+				chop = 0;
+			}
 			tbuf_printf(out, " - %-.*s" CRLF, len - chop, sz);
 		} else
 			tbuf_printf(out, " - %s" CRLF,