diff --git a/mod/box/space.m b/mod/box/space.m
index 276686071d44dbe4c654c7ecc199c65e4499ffd9..a03aab6b1628649aea5573e6616588b00047007e 100644
--- a/mod/box/space.m
+++ b/mod/box/space.m
@@ -184,7 +184,8 @@ key_init(struct key_def *def, struct tarantool_cfg_space_index *cfg_index)
 		def->parts[k].fieldno = cfg_key->fieldno;
 		def->parts[k].type = STR2ENUM(field_data_type, cfg_key->type);
 		/* fill compare order */
-		def->cmp_order[cfg_key->fieldno] = k;
+		if (def->cmp_order[cfg_key->fieldno] == -1)
+			def->cmp_order[cfg_key->fieldno] = k;
 	}
 	def->is_unique = cfg_index->unique;
 }