diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c
index 489b7f63fd1fe9d3e2faa997a6b976d22b586a2f..188cbbd5b74a437ac23f957983b0d766c5369de0 100644
--- a/fs/xfs/linux-2.6/xfs_buf.c
+++ b/fs/xfs/linux-2.6/xfs_buf.c
@@ -458,7 +458,8 @@ _pagebuf_lookup_pages(
 			unlock_page(bp->pb_pages[i]);
 	}
 
-	bp->pb_flags &= ~PBF_NONE;
+	if (page_count)
+		bp->pb_flags &= ~PBF_NONE;
 
 	PB_TRACE(bp, "lookup_pages", (long)page_count);
 	return error;