diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index fadf1528db3d3bfa11e99e04856b9de6ab8b4cf0..21e0a0ae43a826f9a7b64cb3d1f398c90dc3102e 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -5148,7 +5148,7 @@ static int ipr_cancel_op(struct scsi_cmnd *scsi_cmd)
 		ipr_trace;
 	}
 
-	list_add_tail(&ipr_cmd->queue, &hrrq->hrrq_free_q);
+	list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
 	if (!ipr_is_naca_model(res))
 		res->needs_sync_complete = 1;