diff --git a/block/elevator.c b/block/elevator.c
index 62c7a3069d3a20981067e1865c77be04a3990847..536be740ba4e6443f4ecb3501b4d45631385e4e6 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -82,7 +82,7 @@ inline int elv_rq_merge_ok(struct request *rq, struct bio *bio)
 	/*
 	 * must be same device and not a special request
 	 */
-	if (rq->rq_disk != bio->bi_bdev->bd_disk || !rq->special)
+	if (rq->rq_disk != bio->bi_bdev->bd_disk || rq->special)
 		return 0;
 
 	if (!elv_iosched_allow_merge(rq, bio))