diff --git a/include/errcode.h b/include/errcode.h
index 2675b113e67590323243c9fda77cbdea93d5cc4f..1128e8e25e8829443ee9bbcc1295df1128211ea9 100644
--- a/include/errcode.h
+++ b/include/errcode.h
@@ -77,7 +77,7 @@ enum { TNT_ERRMSG_MAX = 512 };
 	/* 23 */_(ER_RESERVED23,		0, "Reserved23") \
 		/* end of silverproxy error codes */ \
 	/* 24 */_(ER_UNUSED24,			2, "Unused24") \
-	/* 25 */_(ER_TUPLE_IS_EMPTY,		2, "UPDATE error: the new tuple has no fields") \
+	/* 25 */_(ER_UNUSED25,			2, "Unused25") \
 	/* 26 */_(ER_FIBER_STACK,		2, "Can not create a new fiber: recursion limit reached") \
 	/* 27 */_(ER_UNUSED27,			2, "Unused27") \
 	/* 28 */_(ER_UNUSED28,			2, "Unused28") \
diff --git a/src/box/tuple_update.cc b/src/box/tuple_update.cc
index 2e5d7f46402922fe99238e2d5dcd07f04ef1498c..2149863b6ecbd82b6c07f6be92109daf19b5e5ed 100644
--- a/src/box/tuple_update.cc
+++ b/src/box/tuple_update.cc
@@ -528,9 +528,6 @@ update_calc_new_tuple_length(struct tuple_update *update)
 	if (update->new_tuple_size > UINT32_MAX)
 		tnt_raise(ClientError, ER_TUPLE_IS_TOO_LONG,
 			  update->new_tuple_size);
-
-	if (update->new_tuple_size == 0)
-		tnt_raise(ClientError, ER_TUPLE_IS_EMPTY);
 }
 
 static void
diff --git a/test/box/lua.result b/test/box/lua.result
index f5d95e967cc70c33fbd8ab96171a5b290241946a..bcaca2c74ff89aea4f052734a0fbb7ca58666b3d 100644
--- a/test/box/lua.result
+++ b/test/box/lua.result
@@ -1186,7 +1186,7 @@ Found 1 tuple:
 [896755060]
 lua box.update(0, 'tes5', '#p', 0, '')
 ---
-error: 'UPDATE error: the new tuple has no fields'
+error: 'Illegal parameters, tuple must have all indexed fields'
 ...
 lua box.space[0]:truncate()
 ---
diff --git a/test/box/lua_misc.result b/test/box/lua_misc.result
index 31495fe9f81dff39e6722736d0b62c40769479e5..d931d1f6be428a68e8d13331a967c9874d199d82 100644
--- a/test/box/lua_misc.result
+++ b/test/box/lua_misc.result
@@ -106,25 +106,24 @@ box.error.ER_PROC_RET: 12290
 box.error.ER_TUPLE_IS_TOO_LONG: 11010
 box.error.ER_EXACT_MATCH: 11522
 box.error.ER_SECONDARY: 770
-box.error.ER_SPACE_DISABLED: 13314
 box.error.ER_OK: 0
-box.error.ER_TUPLE_FOUND: 14082
+box.error.ER_NO_SUCH_INDEX: 13570
 box.error.ER_TUPLE_NOT_FOUND: 12546
 box.error.ER_FIBER_STACK: 6658
-box.error.ER_SPLICE: 10754
-box.error.ER_NO_SUCH_FIELD: 13826
+box.error.ER_UNKNOWN_UPDATE_OP: 11266
+box.error.ER_TUPLE_FOUND: 14082
 box.error.ER_UNSUPPORTED: 2562
 box.error.ER_INJECTION: 2306
-box.error.ER_NO_SUCH_INDEX: 13570
+box.error.ER_NO_SUCH_FIELD: 13826
 box.error.ER_TUPLE_IS_RO: 1025
 box.error.ER_ARG_TYPE: 10498
 box.error.ER_NO_SUCH_SPACE: 14594
-box.error.ER_TUPLE_IS_EMPTY: 6402
+box.error.ER_SPACE_DISABLED: 13314
 box.error.ER_PROC_LUA: 13058
 box.error.ER_NO_SUCH_PROC: 12802
-box.error.ER_UNKNOWN_UPDATE_OP: 11266
+box.error.ER_SPLICE: 10754
 box.error.ER_KEY_PART_COUNT: 12034
-box.error.ER_FIELD_TYPE: 10242
 box.error.ER_WAL_IO: 9986
+box.error.ER_FIELD_TYPE: 10242
 box.error.ER_MEMORY_ISSUE: 1793
 ...
diff --git a/test/lib/sql_ast.py b/test/lib/sql_ast.py
index 1d828a732079bb7d6a40e848cc20b4d788a92016..6bf6e9f59938b4976efa0c2bca1ac35df8afc305 100644
--- a/test/lib/sql_ast.py
+++ b/test/lib/sql_ast.py
@@ -50,7 +50,7 @@ ER = {
    22: "ER_RESERVED22"          ,
    23: "ER_RESERVED23"          ,
    24: "ER_UNUSED24"            ,
-   25: "ER_TUPLE_IS_EMPTY"      ,
+   25: "ER_UNUSED25"            ,
    26: "ER_FIBER_STACK"         ,
    27: "ER_UNUSED27"            ,
    28: "ER_UNUSED28"            ,