diff --git a/src/box/tuple.h b/src/box/tuple.h
index 693d853022871f43b67a7e90c7f3e2ac4c683291..b6ccde8b78ac685f095e340da82cd18b94b2b729 100644
--- a/src/box/tuple.h
+++ b/src/box/tuple.h
@@ -651,7 +651,8 @@ tuple_field_with_type(const struct tuple *tuple, uint32_t fieldno,
 {
 	const char *field = tuple_field(tuple, fieldno);
 	if (field == NULL) {
-		diag_set(ClientError, ER_NO_SUCH_FIELD, fieldno);
+		diag_set(ClientError, ER_NO_SUCH_FIELD,
+			 fieldno + TUPLE_INDEX_BASE);
 		return NULL;
 	}
 	if (mp_typeof(*field) != type) {
diff --git a/test/box/access.result b/test/box/access.result
index f22b2e1b1b6b5a936ba52e7d618283b7670e5853..5fc84b9ca735a111a06d68ff5b05b454ed3067cc 100644
--- a/test/box/access.result
+++ b/test/box/access.result
@@ -516,7 +516,7 @@ box.space._priv:select{id}
 -- -----------------------------------------------------------
 box.space._user:insert{10, 1, 'name'}
 ---
-- error: Field 3 was not found in the tuple
+- error: Field 4 was not found in the tuple
 ...
 box.space._user:insert{10, 1, 'name', 'strange-object-type'}
 ---