diff --git a/src/box/box.m b/src/box/box.m
index fcb3d84f88d171621b00558cf26f6917fc9dbf74..8d6668944cac5e7f35c520542c5ebc1484a3b412 100644
--- a/src/box/box.m
+++ b/src/box/box.m
@@ -270,6 +270,10 @@ recover_snap_row(struct tbuf *t)
 
 	struct space *space = space_find(row->space);
 	Index *index = space_index(space, 0);
+	/* Check to see if the tuple has a sufficient number of fields. */
+	if (unlikely(tuple->field_count < space->max_fieldno)) {
+		tnt_raise(IllegalParams, :"tuple must have all indexed fields");
+	}
 	[index buildNext: tuple];
 	tuple_ref(tuple, 1);
 }