diff --git a/src/box/field_map.c b/src/box/field_map.c
index dc903115e07da6379e6d925a080fe6fdcaefb78d..7fb4c307f783d4fd16bbd00b409d3fb5a415fda2 100644
--- a/src/box/field_map.c
+++ b/src/box/field_map.c
@@ -116,10 +116,10 @@ field_map_build(struct field_map_builder *builder, char *buffer)
 		/** Retrive memory for the extent. */
 		store_u32(&field_map[i], extent_wptr - (char *)field_map);
 		store_u32(extent_wptr, extent->size);
+		extent_wptr += sizeof(uint32_t);
 		uint32_t extent_offset_sz = extent->size * sizeof(uint32_t);
-		memcpy(&((uint32_t *) extent_wptr)[1], extent->offset,
-			extent_offset_sz);
-		extent_wptr += sizeof(uint32_t) + extent_offset_sz;
+		memcpy(extent_wptr, extent->offset, extent_offset_sz);
+		extent_wptr += extent_offset_sz;
 	}
 	assert(extent_wptr == buffer + builder->extents_size);
 }