diff --git a/core/log_io.c b/core/log_io.c
index 0ecbe30eef84a93929df012b858143f6bc4c09d2..3fc16a11d9d852fe4323d550de32a5c477935080 100644
--- a/core/log_io.c
+++ b/core/log_io.c
@@ -76,6 +76,19 @@ struct log_io_iter {
 	int io_rate_limit;
 };
 
+struct row_v04 {
+	i64 lsn;		/* this used to be tid */
+	u16 type;
+	u32 len;
+	u8 data[];
+} __packed__;
+
+static inline struct row_v04 *row_v04(const struct tbuf *t)
+{
+	return (struct row_v04 *)t->data;
+}
+
+
 int
 confirm_lsn(struct recovery_state *r, i64 lsn)
 {
diff --git a/include/log_io.h b/include/log_io.h
index eaab7e64ac17996ce6275ec908ff45dd43bbf50e..53d8d41bb080daad0d0cccbd91ad39a107ffe14a 100644
--- a/include/log_io.h
+++ b/include/log_io.h
@@ -98,13 +98,6 @@ struct wal_write_request {
 	u8 data[];
 } __packed__;
 
-struct row_v04 {
-	i64 lsn;		/* this used to be tid */
-	u16 type;
-	u32 len;
-	u8 data[];
-} __packed__;
-
 struct row_v11 {
 	u32 header_crc32c;
 	i64 lsn;
@@ -114,11 +107,6 @@ struct row_v11 {
 	u8 data[];
 } __packed__;
 
-static inline struct row_v04 *row_v04(const struct tbuf *t)
-{
-	return (struct row_v04 *)t->data;
-}
-
 static inline struct row_v11 *row_v11(const struct tbuf *t)
 {
 	return (struct row_v11 *)t->data;