diff --git a/block/bsg.c b/block/bsg.c
index 73c78fd12cc1c8dc33b4ee3cc560c8f2d811a04a..276e869e686cbbdb39112f19b163e353f0ddc3ef 100644
--- a/block/bsg.c
+++ b/block/bsg.c
@@ -287,6 +287,7 @@ bsg_map_hdr(struct bsg_device *bd, struct sg_io_v4 *hdr, fmode_t has_write_perm,
 		next_rq = blk_get_request(q, READ, GFP_KERNEL);
 		if (IS_ERR(next_rq)) {
 			ret = PTR_ERR(next_rq);
+			next_rq = NULL;
 			goto out;
 		}
 		rq->next_rq = next_rq;