diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index f2ffc46644df11fdcd02b4b9ca3749105a07d5b1..739b4c1416eab3b4aac7cc2389bec131b4a09752 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -1067,8 +1067,15 @@ static void blkfront_connect(struct blkfront_info *info)
 	 * If there are barriers, then we use flush.
 	 */
 	info->feature_flush = 0;
+
+	/*
+	 * The driver doesn't properly handled empty flushes, so
+	 * lets disable barrier support for now.
+	 */
+#if 0
 	if (!err && barrier)
 		info->feature_flush = REQ_FLUSH;
+#endif
 
 	err = xlvbd_alloc_gendisk(sectors, info, binfo, sector_size);
 	if (err) {