diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
index f04914cc19a43f1a5bf0c882ee671435c2cd31de..7f604727f487b3680d7f145161288656dd1aaf80 100644
--- a/fs/ocfs2/aops.c
+++ b/fs/ocfs2/aops.c
@@ -589,6 +589,7 @@ static int ocfs2_direct_IO_get_blocks(struct inode *inode, sector_t iblock,
 			ret = -EIO;
 			goto bail;
 		}
+		set_buffer_new(bh_result);
 		up_write(&OCFS2_I(inode)->ip_alloc_sem);
 	}