diff --git a/.gitignore b/.gitignore
index dd10f178d0822700c6a3a902db2317d3caef8f66..f361e10b8a97ae28dffd7e517676dd0836973bf1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,10 @@ connector/c/tntsql/libtarantoolsql.so.1
 connector/c/tntsql/libtarantoolsql.so.1.1
 connector/c/tntrpl/libtarantoolrpl.so.1
 connector/c/tntrpl/libtarantoolrpl.so.1.1
+src/box/00000000000000000001.snap
+src/box/tarantool.cfg
+test/connector_c/tp
+test/unit/bit_test
+test/unit/bitset_basic_test
+test/unit/bitset_index_test
+test/unit/bitset_iterator_test
diff --git a/src/lua/init.m b/src/lua/init.m
index 1afd9ba0ea56d57eae7e2747fe5016448c9ef071..2e8a2858142bfad435ca0b923daed48a0ac77dfe 100644
--- a/src/lua/init.m
+++ b/src/lua/init.m
@@ -837,9 +837,11 @@ tarantool_lua_printstack_yaml(struct lua_State *L, struct tbuf *out)
 	int top = lua_gettop(L);
 	for (int i = 1; i <= top; i++) {
 		if (lua_type(L, i) == LUA_TCDATA) {
+			GCcdata *cd = cdataV(L->base + i - 1);
 			const char *sz = tarantool_lua_tostring(L, i);
 			int len = strlen(sz);
-			tbuf_printf(out, " - %-.*s" CRLF, len - 3, sz);
+			int chop = (cd->typeid == CTID_UINT64 ? 3 : 2);
+			tbuf_printf(out, " - %-.*s" CRLF, len - chop, sz);
 		} else
 			tbuf_printf(out, " - %s" CRLF,
 				    tarantool_lua_tostring(L, i));
@@ -856,9 +858,11 @@ tarantool_lua_printstack(struct lua_State *L, struct tbuf *out)
 	int top = lua_gettop(L);
 	for (int i = 1; i <= top; i++) {
 		if (lua_type(L, i) == LUA_TCDATA) {
+			GCcdata *cd = cdataV(L->base + i - 1);
 			const char *sz = tarantool_lua_tostring(L, i);
 			int len = strlen(sz);
-			tbuf_printf(out, "%-.*s" CRLF, len - 3, sz);
+			int chop = (cd->typeid == CTID_UINT64 ? 3 : 2);
+			tbuf_printf(out, "%-.*s" CRLF, len - chop, sz);
 		} else
 			tbuf_printf(out, "%s", tarantool_lua_tostring(L, i));
 	}
diff --git a/test/box/lua.result b/test/box/lua.result
index dd6510fab9fee6ccc353257aedd3ac2065c1cea5..58140c2fa7a447bcdfd32ca14a29dcd291a9b672 100644
--- a/test/box/lua.result
+++ b/test/box/lua.result
@@ -1791,3 +1791,36 @@ lua t[nil]
 ---
 error: '[string "return t[nil]"]:1: bad argument #2 to ''__index'' (string expected, got nil)'
 ...
+# A test case for Bug#1131108 'tonumber64 from negative int inconsistency'
+lua tonumber64(-1)
+---
+ - 18446744073709551615
+...
+lua tonumber64(-1LL)
+---
+ - 18446744073709551615
+...
+lua tonumber64(-1ULL)
+---
+ - 18446744073709551615
+...
+lua -1
+---
+ - -1
+...
+lua -1LL
+---
+ - -1
+...
+lua -1ULL
+---
+ - 18446744073709551615
+...
+lua tonumber64(-1.0)
+---
+ - 18446744073709551615
+...
+lua 6LL - 7LL
+---
+ - -1
+...
diff --git a/test/box/lua.test b/test/box/lua.test
index 8b1812014d617f0d2f5eeb7a53c4eb89504c6e0a..da4021b0e8c8455efe283190b69e6c6e5ea254e1 100644
--- a/test/box/lua.test
+++ b/test/box/lua.test
@@ -596,3 +596,12 @@ exec admin "lua box.space[0]:truncate()"
 print """# A test case for Bug#1119389 '(lbox_tuple_index) crashes on 'nil' argument'"""
 exec admin "lua t=box.insert(0, 8989)"
 exec admin "lua t[nil]"
+print """# A test case for Bug#1131108 'tonumber64 from negative int inconsistency'"""
+exec admin "lua tonumber64(-1)"
+exec admin "lua tonumber64(-1LL)"
+exec admin "lua tonumber64(-1ULL)"
+exec admin "lua -1"
+exec admin "lua -1LL"
+exec admin "lua -1ULL"
+exec admin "lua tonumber64(-1.0)"
+exec admin "lua 6LL - 7LL"