diff --git a/src/box/box_lua.m b/src/box/box_lua.m
index c4f87b36fb7eb634275c4f9a00c454de0db15073..151694cd2199db99728b11d27edba7b79e6ff8a6 100644
--- a/src/box/box_lua.m
+++ b/src/box/box_lua.m
@@ -452,8 +452,9 @@ lbox_tuple_index(struct lua_State *L)
 		return 1;
 	}
 	/* If we got a string, try to find a method for it. */
+	const char *sz = luaL_checkstring(L, 2);
 	lua_getmetatable(L, 1);
-	lua_getfield(L, -1, lua_tostring(L, 2));
+	lua_getfield(L, -1, sz);
 	return 1;
 }
 
diff --git a/test/box/lua.result b/test/box/lua.result
index 5ee7f36e844f01957c4a2f593cadecf156b588f1..dd6510fab9fee6ccc353257aedd3ac2065c1cea5 100644
--- a/test/box/lua.result
+++ b/test/box/lua.result
@@ -1783,3 +1783,11 @@ lua t[2], t[3], t[4], t[5]
 lua box.space[0]:truncate()
 ---
 ...
+# A test case for Bug#1119389 '(lbox_tuple_index) crashes on 'nil' argument'
+lua t=box.insert(0, 8989)
+---
+...
+lua t[nil]
+---
+error: '[string "return t[nil]"]:1: bad argument #2 to ''__index'' (string expected, got nil)'
+...
diff --git a/test/box/lua.test b/test/box/lua.test
index 3f7f9851f590edc390ace33dc0195c83d5efe680..8b1812014d617f0d2f5eeb7a53c4eb89504c6e0a 100644
--- a/test/box/lua.test
+++ b/test/box/lua.test
@@ -593,3 +593,6 @@ print """# A test case for tuple:totable() method"""
 exec admin "lua t=box.select(0, 0, 777):totable()"
 exec admin "lua t[2], t[3], t[4], t[5]"
 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]"