diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index a223413e156415306053bb73d0da010acc6d66d9..256b87a859785848d9b42d2df60c4aac90fca9c9 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -985,7 +985,7 @@ iscsi_remove_##tasktype(struct kfifo *fifo, uint32_t itt)		\
 									\
 		if (task->itt == itt) {					\
 			debug_scsi("matched task\n");			\
-			break;						\
+			return task;					\
 		}							\
 									\
 		__kfifo_put(fifo, (void*)&task, sizeof(void*));		\